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

2021-07-04 07:38:49 字數 1459 閱讀 3777

1樓:匿名使用者

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

由程式執行結果為8(此時i=3,m=3+1+4,因此返回值為8),17(此時i=3+8(m第二次執行值)+1,m=12+1+4=17,因此返回值為17)也可以看出來。

2樓:

邏輯錯誤。比如輸入25——

第一遍迴圈結果是top=0,bottom=6,mid=3;

第二遍迴圈結果是top=0,bottom=2(要找的數就在這個位置),mid=1;

第三遍迴圈時就沒有一個分支是滿足條件的,進入了死迴圈……一宗邏輯錯誤的**再考察它的輸出結果是無意義的,考察也是很困難的。

3樓:

函式呼叫是不能改變實參的值得如果想要,可以將m定義為 static int m;

或者定義一個指標用來傳遞引數。

4樓:

m是形式引數,第一次呼叫fun的時候,並不能改變m的資料雖然你在func 中將m定義為static,但這僅保證了在func函式內部m的資料僅被初始化一次

但這裡定義的m和main()中定義的m是單獨的兩個變數你去看看變數的作用域的介紹和函式引數的介紹就知道了

求教一道c語言的題目!

5樓:____年華里

c語言經典100題裡面的題目,我就直接複製吧

#include"stdio.h"

main()

求教一道c語言題,求詳細過程

6樓:奈葉炮下亡魂

#include

int main()

7樓:聽不清啊

(int)a+c%2*(int)(a+b)+(int)a+(int)b

=5+0*(。。。)+5+6=16

一道c語言題目

8樓:匿名使用者

#include

int main(void)

else

}else}}

return 0;}

9樓:戰無ko勝

|||#include

#include

int main()

if(i%2==0)

printf("a\n");

else

printf("b\n");

else if(x-y==2||y-x==2)else

return 0;

}新手上路

求教大神一道C語言題目。萬分感謝

你的來return四遍完全就是沒有任何用的,你源已經定義了全域性變數了,不用return。問題在於你雖然敲擊了回車,但那並不會被輸入。所以你while迴圈可能會一直迴圈下去,直到碰巧碰到一個字元等於 n include int l,n,b,o int count char a int main pr...

一道小學英語題目求教,一道小學英語題目求教

首先stop你們都bai 知道,就不講了。du 而look是看到的整個 過程 停zhi車的整個過程 不是dao看到某專個片段,如果屬 是片段,那麼用dong 看的時候已經在停了,早就已經開始停了 但整個過程用過去式,如果是see,看到的就是某個片段,用dong 這樣講不知道你們懂不懂。如果是a的話,...

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

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