有關C語言

時間 2021-09-07 13:12:08

1樓:匿名使用者

當你輸入一個字元,如:'a'時,此時'a'並不是一個符合scanf格式化的一個輸入,因為格式化要求輸入一個整數,此時程式進入下一個迴圈,由於上次的'a'並不符合格式化輸入,所以'a'被緩衝,放到下一個scanf輸入中,此時'a'又不符合規定,就進入下一個迴圈,這樣就形成了死迴圈。

getchar();是從標準輸入裝置讀取一個字元,執行它後緩衝區內就沒有東西了,scanf()就可以正常工作了。

getchar()的標準使用方法為:xx=getchar();讀取的字元裝入xx字元變數。

如果只用getchar();作用讀取從鍵盤或鍵盤緩衝區輸入的字元常量。

2樓:匿名使用者

那個getchar是為了去掉上面一行 scanf最後輸的回車 不過有沒有這行都不會影響程式的執行

只會對scanf %c產生影響

3樓:

getchar不賦值給任何變數,前一行的scanf會把值賦給n

4樓:

就是從0開始的,v[0]是第一個元素,v[n-1]是第n個元素

有關大一C語言程式設計問題,有關大一C語言程式設計問題?

include include int findnumber char s int num 0 while s if s 0 s 9 num s return num int findspace char s int num 0 while s if s num s return num int m...

有關C語言的小問題,C語言報錯的問題?

line 69 函式showarr,parr是指向結構體的指標,你這裡要訪問的應該是它的成員陣列parr pbase void showarr struct arr parr ps1 這個問題在編譯階段通常會有警告的,因為printf格式符 d是整數,你給的parr i 跟它是不匹配的,會引起 fo...

有關c語言的幾個問題

1.int a a a1.6 a得值是多少?答 如果是a a1.6編譯就通不過 如果是a 1.6,那麼a的值為1 因為要取整 2.int a float b printf f d n a,b 輸出結果為什麼是0.000000 16453答 int型資料沒有預設初始化值為0,float型資料b沒有初始...