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

2021-08-26 05:12:01 字數 976 閱讀 4376

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語言程式輸出結果

a 4 b 3 在swap中,區域性變數和全域性變數名字一致時,取區域性變數的值a 3 b 4 c 0 由於swap是值傳遞,所以ab的值沒有交換,另外區域性變數和全域性變數名字一致時,取區域性變數的值 首先,a b c為全域性變數且分別為1,2,0在main函式裡面對a b分別賦了3和4,以主函式...

c語言a的輸出結果為什麼是 1,b的最後輸出結果為什麼是

資料在計算機中都是以補碼儲存的,a的補碼為0xffff,b的補碼為0xfffe。我這為寫著方便,用十六進位制寫,沒用二進位制寫,要不16個1看著都暈。d是按有符號整型輸出,此時認為a是個負數,根據0xffff來求該負數絕對值的原碼,為0x0001,輸出即為 1。u是按無符號型資料輸出,此時將b看作正...

c語言讀下列程式,寫出程式的輸出結果。希望有詳細的解析

標頭檔案,輸入輸出 字串處理 include include 定義並實現函式hh,其功能為返回 回字元答 串的後半部分 利用strlen函式求出字串的長度,除以2,得到字 串一半的長度,本例中s的長度為12,則一半為6,再將字串s的首地址偏移6,返回,則主函式中 p ogram char hh ch...