一道C 有關指標的題目誰可以幫我解釋一下

2021-05-26 21:13:30 字數 683 閱讀 2229

1樓:匿名使用者

跟你寫抄幾個關鍵的地方吧

int a[10]=, i, *p=a;

fun(p, 0, 3);

所以fun裡面的bais 就是 a, i =0, j=3*(s+i) 等同與 a[0], *(s+j)=a[3]t=*(s+i); *(s+i)=*(s+j); *(s+j)=t;

相當於du替換了a[0],a[3]的值,zhi由於指標指向的是記憶體地dao址,所以a[0],a[3]的值是永久替換的,就是說在fun方法執行完了以後,a的值就變了

2樓:匿名使用者

void fun(int *s, int n1, int n2)}void main( )

, i;

int *p=a; //p指向陣列a的第一個就是a[0]的地址

fun(p, 0, 3);//a[0]與a[3]換,a[1] 與a[2]換

//a[10] =

fun(p, 4, 9);//自己後面算吧a[10] =fun(p, 0, 9); //a[10]=for (i=0; i<10; i++)//}

3樓:與諸君共進步

樓上寫的你如果原來不懂的話,看過他寫的,必然還是不懂。

你去翻閱下c++ 關於指標這一節吧,看看就明白的。這樣空說也比較難說明白。

求教!一道C語言題目,求教一道C語言的題目!

你主函式裡m肯定還是1,func函式中的靜態變數應該是8了吧。你檢視變數值的位置是什麼樣的,如果在主函式裡檢視肯定是主函式中的m,即為1,因為發生作用域覆蓋了。你是第二次進入func後設定斷點,檢視m數值的可定為8。由程式執行結果為8 此時i 3,m 3 1 4,因此返回值為8 17 此時i 3 8...

C語言的一道題目,求解釋,一道C語言題目求解釋!

輸出的是字串長度,應該是7 fun函式的形參看似是字元陣列char s,實際是char s,c語言裡陣列名的本質版是指標,所以函式裡 權可以宣告char p s 這是p和s其實都指向記憶體裡的同一個地址 然後while迴圈的作用是讓p指向這個字元陣列的最後一個字元 由於字串都是已尾零結尾的 即最後一...

有一道c語言的題目已知,有一道C語言的題目 已知 char a int b float c double d 則計算表示式a c c d之後,記過的資料型別是

選d,因為double所表示的數的範圍最大。該題選擇d答案 1 a定義的是char型,實際上他也可以看做是int型,你試過沒有將一個char型的變數用 d的格式輸出後,為一個整數,該整數是該字元的ascii碼,是十進位制而已。所以a c之後的型別為float型 2 a c c自然也就是float型了...