當函數的形參為指針變量時,也就是你傳遞給函數的是一個變量的地址,那么你在函數里面也就是對地址中的變量的操作,所以,函數內部是可以改變實參的數值的。只有當你傳遞給函數的不是一個地址而是一個變量時,編譯器才會把這個值復制到堆棧中,因為所有被調用的子函數的執行過程中,變量都是放在堆棧中進行的。
站在用戶的角度思考問題,與客戶深入溝通,找到永和網站設計與永和網站推廣的解決方案,憑借多年的經驗,讓設計與互聯網技術結合,創造個性化、用戶體驗好的作品,建站類型包括:成都網站制作、網站設計、外貿網站建設、企業官網、英文網站、手機端網站、網站推廣、域名注冊、網頁空間、企業郵箱。業務覆蓋永和地區。
d中,函數返回的變量類型,如果為指針變量就可以返回地址了。任何一個變量都有地址,當然可以返回變量的地址了。
剛看到各位大俠都這么熱心,早知道我就不回答了,⊙﹏⊙b汗。。。
哥們兒,忍了吧,我就認為這題目是多選,。但這是應試教育啊,為了你的考試,你還是按照出題人的答案來理解吧。等你工作中實際用到就知道這種無聊的題目完全是應付考試而已,再沒別的用處。
標準ANSI/ISO C不允許函數的嵌套定義。某些方言如GNU C允許函數的嵌套定義,并有限地支持閉包。學習C語言應以標準C為準,所以,C正確。fun((2,3), (4,5+6,7))含有2個參數,每個參數均為一個逗號表達式,值分別為3和7,相當于fun(3, 7)。所以,B正確。
正確答案是A.
B選項。不能嵌套定義。C選項,函數可以沒有返回值。D選項,沒有必要放在同一個c文件中,用其他c文件的函數可以給其定義的地方函數名前面加extern修飾。
C正確
A.函數可以沒有返回值,如:
void Show(int x)
{
printf("%d\n",x);
}
這個函數的功能僅僅是將傳入的x輸出到控制臺,它沒有返回值,但是可用。
B.函數可以嵌套調用,但不可以嵌套定義。標準C語言不支持嵌套定義,但是有編譯器是支持的,如gcc,下面這個程序在gcc編譯和運行是沒有任何問題的,在VC6.0中編譯不過,本題中指的應該是標準C語言。
#includestdlib.h
#includestdio.h
int main()
{
void f(int i)//嵌套定義函數體
{
printf("%d\n",i);
}
int i=1;
f(i);
i=2;
f(i);
return 0;
}
C,對。函數調用中發生的數據傳送是單向的。即只能把實參的值傳送給形參,而不能把形參的值反向地傳送給實參。 因此在函數調用過程中,形參的值發生改變,而實參中的值不會變化,如想實參的值也改變就必須傳入指針。
D.main函數也是一個函數,將它看成普通的函數就可以了,它可以放在任何的位置,只是C語言是以main為入口的,那么在執行main函數時,在它(main)的前面就必須要有其他函數的聲明或者定義。如下面例子的兩種形式都是正確的。
形式1,其它函數的定義放在main函數前。
#includestdio.h
void Show(int x) //函數定義
{
printf("%d\n",x);
}
void main()
{
int x = 0;
Show(0);
}
形式2,其他函數定義放在main函數后。
#includestdio.h
void Show(int x);//函數聲明
void main()
{
int x = 0;
Show(0);
}
void Show(int x) //函數定義
{
printf("%d\n",x);
}
第一個是對的,C中規定局部變量名不能是重復的,不然編譯時會報錯
第二個也是對的 一次函數調用最多返回一個結果值,這里最多指的是小于等于1 所以VIOD時是不返回結果值的
第三個對的 書上概念 記著就行
第四個不對 main只能調用 但是不能訪問其他函數的變量
A。打個比方,求平方函數的形式應該是y=x^2,現在我想求2的平方,那么應該是把2代入x,求相應的y,而不是把x代入2。
B錯。不能嵌套定義
C錯。可以有無返回值的函數的。
D錯。可以放在不同文件中
分享題目:關于c語言函數說法正確的,c語言中,關于函數的說法正確的是
網頁鏈接:http://m.kartarina.com/article30/hdpjso.html
成都網站建設公司_創新互聯,為您提供自適應網站、外貿網站建設、微信公眾號、云服務器、關鍵詞優化、品牌網站制作
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯