C語言程式為什麼最後的輸出結果是這個

時間 2021-08-30 10:38:27

1樓:

getchar接收的是“字元”,putchar輸出的也是字元——它們不會接收和輸出整數!

第一次c=='2',執行case 0:後面的語句直到遇到break;,所以輸出是'6'、'6',顯示就是66。

第二次c=='4',執行case 2:後面的語句直到遇到break;,所以輸出是'8',顯示就是668。

第三次c=='7',執行default:後面的語句直到遇到break;,所以輸出是'9',顯示就是6689。

第四次c=='4',執行case 2:後面的語句直到遇到break;,所以輸出是'8',顯示就是66898。

第五次c=='\n',退出while,輸出\n結束程式。

所以輸出是66898,不可能是668677!

2樓:聽不清啊

輸入2:輸出66

輸入4,輸出8

輸入7,輸出9

輸入4,輸出8

輸入2474以後 輸出結果是66898

3樓:網海1書生

1、數字與字元型的數字進行四則運算時,程式會自動把字元型的數字轉換為數值型,也就是說 c - '2' 和 c - 2 沒有區別;

2、字元2的ascii碼(或者說內碼)是50,但不能說“字元2的int值是50”,而且也不是這麼加減的;

3、輸入2474後,輸出結果應該是66898

c語言,讀程式寫結果,請問輸出結果是什麼?為什麼是這樣?求解第二個的輸出

4樓:自由如風水

9 19吧,因為func函式裡面的m,n是靜態變數

5樓:上網吃蘋果

程式輸出是

來9和19,兩次源呼叫func()結果不同的原因是因為func()裡面的bai

6樓:hay暗夜

9 9。因為k,m是區域性變數,不會在main外改變值

c語言,以下程式的輸出結果是,C語言問題 以下程式的輸出結果是?

輸出1 3 這是遞迴了,所以先是fun 3 進入後發現3 2 1,所以又繼續func 3 2 也就是fun 1 進入發現1 2 0,就執行prinft,輸出1,然後fun 1 就返回了 返回出去正好是fun 3 的prinft,輸出3 進入fun 3 進入fun 1 輸出1退出fun 1 輸出3退出...

C語言題,以下程式的輸出結果是,c語言題 以下程式的輸出結果是。 include stdio h void main i?

初出茅廬 include stdio.h main printf d n a 結果是31,我說的只是原理,你可以根據上面別人說的過程就會明白的。 經過理論分析i 1時,進入程式,執行語句a 3 即a a 3,a 3,再執行a 5,即a a 5 3 5 8 然後馬上輸出結果a 8,你用單步追蹤法,也可...

C語言指標陣列求輸出結果,為什麼

陣列是順序儲存的,給你畫個記憶體圖 p賦予a 0 0 的地址後,p就是1了,p 2 是a陣列裡第3個元素,也就是3,p 4 是第5個,也就是5,m p p 2 p 4 是把它們3個乘起來乘起來是15 像這樣的二維陣列,用指標時把它看在一維的就可以了 答案是15 p是陣列起始位置指標,二維陣列在記憶體...