C語言,輸入2473,輸出668977,我想請問一下,是先給c賦值為2,還是

2021-03-28 01:15:10 字數 1968 閱讀 4810

1樓:0揮不去的傷痛

#include

void main()

}printf("\n");

return 0;

}getchar僅僅讀取一個字元,寫在while語句的判斷條件裡,則每執行一遍迴圈就執行一遍getchar,即讀取一個字元。

輸入2,執行第一遍迴圈,c值2,執行switch(c-'2'),括號中的c-'2'返回值是0。執行case 0:case 1:

putchar(c+4); case 2:putchar(c+4); break; 就是輸出c+4所代表的字元,就是6,輸出兩遍6,然後遇到break跳出。

輸入4,執行第二遍迴圈,c值4,執行switch(c-'2'),括號中的c-'2'返回值是2。執行case 2:putchar(c+4); break; 就是輸出c+4所代表的字元,就是8,然後遇到break跳出。

輸入7,執行第三遍迴圈,c值7,執行switch(c-'2'),括號中的c-'2'返回值是5。沒有case對應,執行default: putchar(c+2); break; 就是輸出c+2所代表的字元,就是9,然後遇到break跳出。

輸入3,執行第四遍迴圈,c值3,執行switch(c-'2'),括號中的c-'2'返回值是1。執行case 1:putchar(c+4); case 2:

putchar(c+4); break; 就是輸出c+4所代表的字元,就是7,然後遇到break跳出。

最後輸出結果就是 66897

望採納~~~

2樓:匿名使用者

賦值為'2',getchar()是讀取一個字元

3樓:漆翔飛仙漾

c-'2'是指將字元c的ascii碼與字元'2'的ascii作差。

輸入為2,差的結果為0,執行case

0,沒有break,繼續執行case

1,輸出

c+4,因為c為2,所以輸出6;沒有break,繼續執行case2,輸出

c+4,還是6;遇到break,退出swith語句。

輸入為4,差的結果為2,執行case

2,輸出c+4,為8,遇到break,退出swith語句。

輸入為7,差的結果為5,執行default,輸出為c+2,即9,後面沒有語句了,即使沒有break,也退出switch語句。

輸入為3,

差的結果為1,執行case

1,輸出

c+4,即7,沒有break,繼續執行case2,輸出c+4,即7,遇到break,退出switch,輸入結束,退出while迴圈。

故此輸出為:668977

若執行以下程式時,從鍵盤輸入2473,回車,則程式的執行結果是

4樓:

668977

c=2進 case c-'2' -- case 0:

case 1: 打 c+4 輸出

6 (2+4=6)

進 case 2: 打 c+4 輸出 6 (2+4=6), break 退出

[66]

c=4進 case c-'2' -- case 2:

打 c+4 輸出 8 (4+4=8), break 退出[8]c=7

進 case c-'2' -- case 5: default:

打 c+2 輸出 9,退出

[9]c=3

進 case c-'2' -- case 1: 打 c+4 輸出 7進 case 2: 打 c+4 輸出 7 (3+4=7), break 退出

[77]

5樓:kuk仔

小case 應該是 668977 switch結構 對號入座,直到遇到break跳出;無結果跳到default。

6樓:

額 已經很晚了啊 竟然還有人回答~~

很強大~~

這個程式主要就是考了個switch、break的用法吧樓上結果正確

c語言中如何輸入輸出文字,C語言中如何輸入輸出文字

需要準備的材料分別有 電腦 c語言編譯器。1 首先,開啟c語言編譯器,新建一個初始.cpp檔案,例如 test.cpp。2 在test.cpp檔案中,輸入c語言 char a 20 gets a puts a 3 編譯器執行test.cpp檔案,此時可以輸入文字。4 按回車,此時會輸出剛才輸入的文字...

c語言輸出,c語言輸出

首先解釋為什麼是負值 因為溢位了 111111 111111 12345654321超出了int能表示的範圍 可能你要問 不是已經 lld了嗎 沒錯 lld是用於long long型別的,但只代表輸出的時候按照longlong的型別輸出,並不能影響後面引數的實際型別對於整型常數,c語言預設都是int...

c語言輸入多組資料和輸出對應結果

有兩個問題我想說一下 第 一 你用那個while語句雖然實現不斷輸入而不斷輸出結果,但後一結果是在前一結果基礎上 累加 產生,這顯然不合理 第 二 你要實現的 輸入多組資料後對應結果最後顯示 中 多組 具體是多少呢?可以定義三個陣列分別用來儲存n m和sum,注意每次計算sum前先初始化為0.用陣列...