c語言問題

2023-01-13 11:10:37 字數 719 閱讀 9142

1樓:火車上的仰望

i=2時,此時a[2]的地址作為起始地址傳遞給了fun函式的a,這樣在fun函式裡面,此時fun函式中的a[5]就指向主函式中的a[7]了,fun函式中的a[4]就指向主函式中的a[6]了,而當指標作為函式引數時,實際上形參和實參是共用儲存單元的,所以a[4]=a[5]語句相當於將主函式中的a[7]的值賦給了a[6],以此類推,i=1、0也是一樣的。這樣,不難退出,輸出結果是那樣了。

2樓:匿名使用者

for(i=2;i>=0;i--) fun(&a[i]);的時候當i =2的時候呼叫函式void fun(int*a)

的時候,此時a[4]實際上是a[i+4]即a[6] == 4。同理a[5]為a[7] == 3.

你這個迴圈做了3次即把a[4]a[5]a[6]都改為了3所以輸出10987333321

3樓:匿名使用者

fun(&a[i])是把a[i]作為一個地址傳入函式,詳細看下面的例子

i=2時,a[i]=8,&a[i]=,所以fun(&a[i])的結果是&a[i]=

i=1時,a[i]=9,&a[i]=,所以fun(&a[i])的結果是&a[i]=

i=0時,a[i]=10,&a[i]=,所以fun(&a[i])的結果是&a[i]=

4樓:昌大少年

void fun(int *a)//傳入一個起始地址a

c語言問題,C語言問題?

include include int main max min i 0 sum i 0 i 1 i 2 i 3 i 4 i 5 i 6 for j 0 j 6 j printf 去掉一個最高分 0.6lf max printf 去掉一個最低分 0.6lf n min printf 該選手最後的得分...

c語言問題,C語言問題?

char的範圍是 128 127的 你362就溢位了嘛 是這樣的 0362 0是表示8進位制 於是362在10進位制下是242 242溢位了 128 127 於是結果變成242 128 128 14 要明白這個,首先要明白記憶體中 c 變數是什麼樣子的。整數在記憶體中是以補碼的形式存取的。c 036...

C語言問題C語言問題,C語言小問題段錯誤是什麼

str2num char p num num k return num c語言問題c語言問題 include int main int h,m scanf d d h,m printf s num h if m 0 else printf o clock printf n return 0 c語言小...