久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 請教函數參數個數問題 [打印本頁]

作者: 萬家燈火51    時間: 2024-8-21 12:20
標題: 請教函數參數個數問題
很多題中都說c51函數參數是寄存器傳遞的,個數有嚴格顯示,不能超過3個。我測試了,很多個都沒有問題啊。例如下面,編譯完全通過,沒任何問題。
#include<reg51.h>
char fun(int a,int b, int c, int d,char e){

        return a+b+c+d+e;
}

void main(){
  char x;
        x=fun(1,2,3,4,5);
        P2=x;
        while(1);

}


作者: cyi8    時間: 2024-8-21 16:33
先了解全局變量與局部變量的區別,你這個是函數內定義的局部變量,局部變量的限制要高一點吧,一般范圍是在5-10個。
全局變量一般要求是不超過2個,當然程序中你多了程序也可以執行(不排除一些編程軟件直接限制全局變量在函數的數量,直接報錯),多于3個時一部分通過存儲區傳遞,直接的影響了程序的執行效率和程序的可讀性,對于程序執行和維護都不友好


作者: zhuls    時間: 2024-8-21 17:15
C51的函數所帶的參數是要入棧的,所以能帶多少個參數由單片的RAM來決定。
理論上可以很多,只要你的RAM夠大。
但如果一個函數如果帶了10多個、甚至更多個參數,明顯不是個好的編程習慣和風格。
所以RAM還是該省省、該花花。

作者: wufa1986    時間: 2024-8-22 15:49
C語言會處理這個問題,很多參數建議還是結構體傳遞
作者: 李冬    時間: 2024-8-29 17:01
改成int fun試試




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 午夜免费看片 | 一区二区三区在线免费 | 中文天堂在线观看 | 欧美性生交xxxxx久久久 | 日韩精品视频在线免费观看 | 免费三片在线播放 | 中文在线视频 | 91久 | 亚洲精品一区二区三区在线 | 欧美成人精品一区二区三区在线看 | 一区二区三区精品 | 在线一区二区三区四区 | 超碰男人的天堂 | 欧美精产国品一二三区 | 日日操天天操 | av在线成人| 亚洲国产精| 国产精品久久久久久无人区 | 日韩一级二级三级 | 可以在线观看的av | 亚洲成人中文字幕 | 国产在线视频一区二区 | 中日韩毛片 | 99视频+国产日韩欧美 | 五月天一区二区三区 | 日韩精品网站 | 成年在线观看 | 中文字幕在线观看网站 | 久草国产视频 | 午夜精品一区二区三区在线视频 | 中文字幕亚洲精品 | 国产又粗又猛视频免费 | 日b免费视频 | 亚洲欧美日韩在线 | 欧美日韩第一区 | 国产高清91| 中文av字幕| 久草免费福利 | 欧美日韩一区二区在线观看 | 日本大尺度床戏揉捏胸 | av黄|