1樓:糖酥棍兒
1 fun(x+y,(e1,e2)),fun(xy,d,(a,b));含有實參個數? 怎麼來的?
這個是不是有點問題? 括號感覺不太對! 按照前面的算是 2個,按照後面的算是 3個。
#include
int x=3;
main()
incre()
程式輸出為2 6 裡面的int x=3是不是在incre()這個函式裡面沒有任何用?如果我在main函式裡面新增乙個 int x=5的話 居首的 int x=3在incre()和main函式裡面都沒有用了?
這個是考的變數的作用域的問題,全域性變數和區域性變數 以及 靜態變數。
最外面的 int x=3; 是這個程式的全域性變數。
int x=3是不是在incre()這個函式裡面沒有任何用? 這個在incre()函式內 x是按照區域性變數起的作用,和你理解的一樣,全域性的在這裡不起作用。
如果我在main函式裡面新增乙個 int x=5的話 居首的 int x=3在incre()和main函式裡面都沒有用了?
是的整個main函式裡面的x都會按照的x=5為初始值,當然是除了 其他函式內部的區域性的變數x。
void fun( int *x, int *y)
main( )
程式是順序執行的,是從main函式開始執行的這樣的順序,肯定是先輸出fun函式裡面的,然後再輸出main的。
這裡的 fun 比較特殊,引數是指標型別的,就是傳入的是main函式中變數的記憶體位址。
x=1, y=2; fun(&y, &x); 將y的位址和x的位址傳入(即: 函式內指標x指向y變數的位址,指標y指向x的位址),因此,函式內輸出的時候就是 2 和 1。
*x=3;*y=4; 這裡就是對函式內x 和 y指標對應記憶體單元進行操作,因此相當於是對外面 y 和 x變數的操作,執行完後,main函式中的 y的值為3,x的值為4.即輸出了 4 和 3。
2樓:網友
第一題貌似漏了個括號,看意思應該有7個。下課了,後面沒時間看了,上機閒的蛋疼,四處逛逛看看還有哪些腦殘的問題。
c語言二級指標問題,C語言二級指標問題
1 通過二級指標去訪問二維陣列需要先給二級指標分配等同於二維陣列行數的一維陣列指標,然後把二維陣列的每行首地址賦值給對應位置的一維指標上。之後就可以通過二維指標直接訪問了。2 參考 如下,可以看具體註釋輔助理解。include 輸入輸出標頭檔案。include 本程式需要用到malloc free函...
C語言二級問題
你程式下面的第一句話很不嚴謹啊 呵呵 不加的話就變成了b 2.0.這是啥意思啊?開玩笑啦 double相當於double float的縮寫,意思是兩倍的float型別空間 可以儲存多倍於float的資料 不一定是兩倍,編譯器不同結果不同 當然,數字小的話沒什麼區別 下面是c 上的參考資料 float...
二級c語言問題高手進吧
這題該選a 題意是 定義了char st how are you 這樣乙個字元指標,a b c d四個選項中 那個用法沒有錯誤,就是這四句話哪個既沒有語法詞法錯誤,也沒有語義錯誤。a 選項正確,是從 st 4 的位址開始取字元賦給 a 1 的位址,就是把 are you 分別賦給a 1 a 2 a ...