C語言的問題,麻煩高手

2022-08-18 17:45:02 字數 817 閱讀 2611

1樓:匿名使用者

#include

int a=1;

//全域性變數a=1,只要不是在子函式內,a的值都是他

int f(int c)

main()

k+=a;

printf("%d\n",k);

} 分析:

i<2;迴圈了2次;

第1次:

f(a)=f(3)::c=c+1=3+1=4;(a++)+c=2+4=6(其中,f(3)是用的區域性變數

,c=c+1用的是函式引數a傳的值,a++是用的區域性靜態變數,而且結束後,區域性靜態變數自己加1,static a=3;)

返回來k=k+f(a)=0+6=6;

第2次:

f(a)=f(3)::c=c+1=3+1=4;(a++)+c=3+4=7;

返回來k=k+f(a)=6+7=13;

退出迴圈:

k+=a;k=k+a=13+1=14(這裡的a是全域性變數了,定義在main()之外)

所以是14

2樓:說的話無可辯駁

- -返回值是在子函式中運算後的a+1+c由於static所以每次進入子函式不需要重新賦值給a這些知識點教科書上面都有介紹的應該

還有是return不是rerurn

(a++)+c應該是在關於賦值的章節裡面的,如果有教材的話一般在第二章

static大概在第六到第七章中是有關函式的章節中比較靠後的知識點

3樓:匿名使用者

二樓講得很詳細補充一點學c用譚浩強的書較好 這題綜合性強 靜態全域性區域性大概在第六章講完

C語言問題,求高手幫忙,C語言問題,求高手幫忙!!

1.輸入輸出問題,在輸入整數或浮點數後面直接輸入字元或字串,要清除一下回車號,或都在輸入整數後直接清空快取,再讀取內容 2.越界問題,修正問題1後,如果記憶體裡沒有連繼的 0 字元,你這程式會嚴重越界 語句 k j 1 前加一句 if c j 0 break 到尾就不要再迴圈了,防止越界 改完後的效...

C語言程式問題,求高手 C語言問題,求大佬解答

我嫌麻煩是否可以把print star 換成別的字母 是可以的,可以按照你說的換成void a 也行。這只是初學者用用。你以後開發大程式,這麼多函式,你能分得清什麼函式做什麼用麼?所以要養成好習慣。括號是帶參。下劃線也沒有什麼固定的意義,就是增加程式的可讀性。不懂再問。望 可以。裡面是用來放引數的 ...

一道簡單C語言指標問題程式設計題!麻煩高手幫我改的簡單容易理解

include include define n 40 void main puts a 修改 請高手幫忙解決一道c語言的程式設計題!急啊!及其不規範,首先給你修改規範,然後給你編上行號,給你說 1 int findstr char str,char substr 2 12 else break 1...