C語言問題,求大神指教,求解釋本程式,最好詳細點,謝謝啦,我

2021-03-06 00:28:56 字數 1208 閱讀 4579

1樓:匿名使用者

main()//程式入口

printf("各位數之和s=%d\n",s);

printf("其反序數=%d\n",a);

}整個程式就是為了得到輸入的數的逆序排列數以及所有數字之和

2樓:章鑫彬

#include

main()

printf("各位數之和s=%d\n",s);

printf("其反序數=%d\n",a);}如:

輸入:123

輸出各位數之和s=1+2+3=6

輸出反序數a=321

3樓:匿名使用者

//我想關鍵就是這個位置吧

while(n)

以n=1032為例:

m=n%10-->2-->m=2 //最後一位數字n=n/10-->n=103 //這裡是整除(也可以理解為去掉最後一位數字)

s+ =m-->s=s+m(0+2)-->s=2;//統計各位數字之和(個位-->十位-->百位......)

判斷n是否為0,n=103!=0

接著執行迴圈;

m=3n=10

s=2+3=5

依次類推,當n=1時,m=1,n=0,s=2+3+0+1=6 此時n=0迴圈結束

//逆序

while(n)

//三次 a=23*10=230,m=0,a=230//四次 a=2300 ,m=1,a=2301//也可以這樣不用a ,當然這樣沒儲存逆序數while(n)

你可以自己除錯,看每個變數的變化情況.(不會的話學習一下,很簡單)

c語言問題,求大神解釋以下程式ret,getchar有什麼作用,最好能夠詳細點,謝謝,我是小白,初學者。,。

4樓:匿名使用者

ret這裡是用來接收scanf語句的返回值的。

scanf是個讀取輸入資料

的語句,返回值是成功讀取的資料個數。例如ret=scanf("%d,%d,&a,&b");這句,如果成功讀取了a和b,那麼scanf會返回2表示讀入了兩個資料。

下面的迴圈就是表示如果讀取的不是兩個數,就重新提示使用者輸入a和b。

至於getchar()是讀入一個字元,getchar()可以讀入包括換行符在內的ascii碼字元,使用者在輸入完a和b後一般會按一次回車,這個getchar就是用來讀取這個回車符的。

C語言問題,求解答,C語言問題,求大神解答

f函式中的a每次使用外面傳入的2,b是區域性變數,後每次都是1,c是靜態變數,函式每次執行會在上次值 1 所以最後執行三次,輸出為789 程式的輸出是 789 c語言問題,求解答 執行abc a 1 首先進行巨集代換過程,是把 a 1去替代 定義的巨集函式 x x 中的x,即得到式子 a 1 a 1...

c語言,程式問題,求大神解釋。謝謝

i 可以寫在switc語句裡面,但是如果寫在switc語句裡面,就要在每一個case default中都加上i 你可以用很簡潔的方式解決問題,也可以用很繁瑣的方式解決問題,就是這個區別。什麼意思du?當然可以啊,上面的zhi 等價於 daowhile sym 回if flag 0 i用來標識執行的動...

c語言遞迴求逆序,求大神解釋。求解釋下這樣遞迴的思想,不明白為何

由於題目中限定了遞迴 又禁止使用了那麼多的輸入輸出函式 那麼能用的 只有getchar 和putchar了要逆序輸入 比如有3個字元。那麼輸入輸出的順序就應該是 getchar getchar getchar putchar putchar putchar 也就是 最後一個get到的,要最先輸出。這...