C語言的一點小問題,求解答,C語言一些小問題,求解答

2021-05-05 18:57:19 字數 3368 閱讀 1011

1樓:

這個程式應該是讓我們熟悉switch函式的用法,沒有什麼特殊的含義while((c=getchar())!='\n')從鍵盤輸入一個字元只要是非回車就做下面的switch語句

switch(c-'2') c是你從鍵盤輸入的字元減去『2』是減去2的ascll碼即50,減完以後的只就是case語句的條件了

case 0: 當c-『2『為0時即輸入的字元是2的時候什麼都不做,後面沒有break所以繼續執行case 1: putchar (c+4);就會輸出6,還是沒有break所以在順著繼續進行case 2:

putchar (c+4); break;又會輸出6,這時有了break,就不再做後面的了。

其他類似

default就是以上沒有的其他結果就進default運算所以你輸入字元2的時候,輸出是66

你輸入字元3的時候,輸出是77

你輸入字元4的時候,輸出是8

你輸入字元5的時候,輸出是87

輸入其他字元時,例如輸入字元a,輸出是c;輸入字元6的時候,輸出時8你輸入字元2473時結果就應該為,668977

2樓:匿名使用者

#include

main()

printf("\n");//輸出回車

getch();//等待按任意鍵}

3樓:戚文柏

輸入一個字元,與字元2相減,判斷得到的ascii值,執行對應的case,判斷輸入的字元為while迴圈,以回車結束。請注意switch的break;

4樓:匿名使用者

自己跑一遍不就行了 目測是輸入一個字元,然後算他旁邊的字元

c語言一些小問題,求解答

5樓:流浪者

結果是對的。

首先,funs()定在呼叫的時候形成了遞迴,所以算出來的結果就不會是5+5-1。

其次,你的程式的過程可以表達為5+(4+(3+2)),也就是說你在funs()裡遞迴呼叫了funs()。

在做c語言程式的時候,一定要理清思路,避免不應出現的遞迴,以免形成死迴圈,你這個呼叫如果引數錯誤,很容易出錯。

第三,按你的要求,結果是9的話,正確做法funs()定義return(n-1),main()裡呼叫print(n+funs(n))

6樓:匿名使用者

這是遞迴函式,不是隻執行一次,唉,怕你不明白,再解釋下吧,就是n=5,funs(n-1)=9,n+funs(n-1)=5+9=14,這回明白沒?

7樓:匿名使用者

在這個題中,fun()函式發生了遞迴

呼叫,即函式自己呼叫自己。在滿足發生遞迴的條件時,遞迴呼叫是以逐層巢狀的:形式進入,直到遞迴條件不再滿足,再由最內層開始依次逐層退出。

遞迴呼叫發生的次數由發生遞迴的條件所決定。本題中 n=5,進入fun(5)後,會繼續發生fun(4)、fun(3)呼叫,然後由內層依次返回,程式執行過程如下:

第1次呼叫 : n=5,執行5+fun(4)第2次呼叫 : n=4,執行4+fun(3)第3次呼叫 :

n=3,執行3+fun(2)笫1次返回 : 退出笫3次呼叫,返回值 3+2=5第2次返回 : 退出第2次呼叫,返回值 4+5=9第3次返回 :

退出第1次呼叫,返回值 5+9=14所以主程式輸出s=14。

8樓:梅髏鯊

這是遞迴,funs函式一直呼叫自身,就是funs函式中再不斷執行funs函式,所以n一直減到2結束呼叫,結果是5+4+3+2=14

9樓:匿名使用者

這是條件求和,滿足條件直行,負責就的到下面的大版。

10樓:我陌路我自己

學姐多好的機會大漢帝國,或者**號俗話說得好,還真是是好事。收到回話是個啥就是,好好在家收到回**,畫中畫說的很對。實踐活動回**,好實話實說不上班。

11樓:匿名使用者

這是迴圈語句問題,不是隻執行一次,重新看書吧!

12樓:我是老才不壞

你這問題可難壞了我,我怎麼能幫助你呢?瞧瞧,你提出的問題滿是英文,我連一天英語課都沒上過,我連abc都不知道是幹什麼的!拜託了兄弟,以後不要在這平臺上出現英語的問題,可難壞了我喲。

關於c語言的一些小問題?求解答一下

13樓:

1,scanf是根據格式需要進行輸入,gets是輸入一行。

2,結果為4,8,s=4因為int為4位元組,double為8位元組3,答謝字元當然為第一個,就是在a和z之間4,結果為0

void main()

希望回答能幫到你,**不清楚再問。

c語言小問題求解答.

14樓:匿名使用者

#include

#include

int main()

printf("%lf\n",s);

return 0;

}你的錯誤很多,首先分母並非1,2,3,4,每次增加一個要使用絕對值fabs進行判斷

15樓:匿名使用者

最後那個printf,不應該用%d啊

一道關於c語言的小問題,求解答~

16樓:濮震軒

d p=a="china"; 是一個賦值表示式,從右到左執行。

也就是說先執行a="china" ,這個表示式的結果是 "china"

接著 相當於 進行p="china"。

這步是錯誤的,因為指標沒有指向就直接賦值是錯誤的。

17樓:匿名使用者

這個題目選d,因為a是一個陣列的名字,表示陣列的首地址,且它是一個常量,不能用來賦值a=「china」

希望幫到你……

18樓:

選ca是char型指標,只能賦值地址,正確的是*a="china"

19樓:高元照

d錯,cannot convert from 'char [6]' to 'char [10]'

c語言小問題,求大神解答

20樓:澡堂班長

#include

int main()

;int b[5] = ;

int c[5] = ;

int d[5] = ;

int e[5] = ;

int i ;

for(i=0;i<5;i++)

}這個是最笨的辦法,你把它續全就可以了。多說一句你可以用二維陣列再試試。

c語言問題求解答具體點,C語言問題求解答

cpp1.exe 1 error s 0 warning s cpp1程式一個錯誤0個警告 c語言問題求解答 第一個days day 獲取最後一個月的天數 第二個switch month 1 獲取除了最後一個月之外完整月的天數之和 逗號表示式從左往右依次計算,取最右邊的表示式的值為整個表示式的值 答...

新手c語言的一點小問題,新手C語言的一點小問題

如果加逗號,在輸入時就要用逗號分隔,比如輸入1.0,2.0,否則輸入結果肯定不正確 如果不加逗號,在輸入時就用預設的空白符分隔,比如輸入1.0 2.0,否則輸入結果不會正確。加不加逗號只是跟輸入時有影響。加逗號 輸入的兩個數用逗號隔開,如 18 逗號19 回車 不加逗號 輸入的兩個數用空格鍵或tab...

c語言的問題,求解答,c語言的一個問題,求解答!

改的挺多的。實力有限,望採納 附 在vc 編譯器下,選中 按alt f8可以對 進行排版 include int main swap pmin,a 0 output a for i 0 i 10 i swap pmax,a 9 output a return 0 void input int a v...