C語言問題

時間 2022-03-08 17:30:15

1樓:

結果是12 0 0

原因:當輸入12.3後,因為都唯讀整數,所以第乙個讀取12後遇到.

就認為輸入結束了,故把12賦給i,且把.3留在輸入緩衝區中;緊接著第二個讀到.時也認為輸入結束了,但什麼也沒有讀;第三個與第二個相同,所以j、k都是0。

你可以在每乙個scanf後跟乙個句fflush(stdin),把留存在緩衝區中的.3之類沖掉試試,j和k就都能接收資料了。

2樓:匿名使用者

int main(void)

執行後:

the value of i is 12

the value of j is 0

the value of k is 0

3樓:

scanf錄入資料時分割有空格符、換行符,當遇到和非法字元就判斷下乙個,小數點和int不相符合,0.3和j、k判斷不符合就直接退出

4樓:葫蘆娃愛木耳

int型的 應該是輸出的12 0 0 吧 從鍵盤輸入12.3後 把值賦給i,再打回車就輸出了。j,k還是0。

你可以用空格隔開,再回車 或者"%d\n"

5樓:匿名使用者

只輸入了乙個值,所以只有第乙個變數被賦值,其他變數均為預設值也就是0,而三個變數都為整型,那麼第一變數的數值就只能是12,後面的小數忽略,因為四捨五入,所以捨去。所以答案應為12 0 0。這樣說你可以理解嗎?

c語言問題,C語言問題。

考驕 用指標將兩個字串連結接起來,前一個while迴圈,確定s1字串走完,第二個while開始將s1的逐個字元複製給s1走完,也就是末尾,這樣就可以把字串都匯入到s1中 最後一個空寫的應該寫return s1 長魚修韋 很久沒碰這東西了。我來解釋下 第一個while的迴圈是為了讓指標指向第一個字串的...

C語言問題,c語言問題?

自我程式設計 列印輸出乙個ok。因為前面迴圈for語句有分號結束。所以後面的printf語句不在迴圈內,不受迴圈語句影響。 理佑平鄲胭 結果是22 7 7 8 22 你可以將 i i i i是先 1再計算,還有這裡的運算順序是從左到右,所以應該是7 7 i 14 8 22 前兩個相加時,i先加1,加...

c語言問題,C語言問題?

這個問題說難不難,但理解可能有點玄乎而已,但是打個比方來理解就太容易掌握啦!就是說scanf的認定讀取,比如你單純的scanf c ch 那麼實際上已經認定了第乙個字元出現就把它賦予給ch,如果是你的scanf c 前面多了乙個空格,所以就認定了出現第乙個空格後的字元賦予給ch,如果寫成這樣 sca...