1樓:網友
這個空格是可有可無的,沒有實際意義,是作者認為加上的,可能得含義是為了版面好看,在c程式編制時,常常為了版面整潔,方便閱讀和修改而增加一些空格來編排程式**,這是一種較為良好的程式設計習慣。
2樓:唯愛嘉文的陳
如果不加空格的話,可以在scanf語句前加一條rewind(stdin);就可以了!
3樓:網友
使輸入的游標和前面有乙個空格的距離。
4樓:網友
建議你仔細看看scanf的用法。
我想問問在c語言中scanf(" %c",&ch) 的%c前面加個空格到底有什麼作用啊
5樓:軍軍
就是你在輸入乙個字元前要加乙個空格,這樣一一對應便於判斷,如果scanf中加了空格而輸入時沒加是無法正確讀取的。
6樓:網友
沒有作用,就算你留n個空格編譯時也不會識別,想在輸出結果中留空格必須要有格式控制符。
c語言中,在int形和char形混輸時如scanf("%d %c %c");,為什麼%c前要加空格?
7樓:伍永芬懷緞
不加空格的話就要再輸完int型的值後回車,再輸入char型的值。
加空格就是把回車換成空格而已。
8樓:逢元修喬亥
可能是因為加了空格,輸出比較好看(字母和數字被隔開),,編**時並不一定要加空格的。
9樓:霜讓幸綾
c語言就是這麼要求的,scanf函式使用空白字元分割輸入的資料,空白字元包括空格、換行、tap。
10樓:玉素枝俞綢
是這樣的```在不加空格的情況下"%d%c%c",&a,&b,&c當你輸入「3空e空f」
你第乙個是整形。
自然會把你輸入的數字給第乙個a,你輸入第二個是空格,會把這個空格當成字元賦值給b
你輸入第三個是e,會把e賦值給c
這樣程式就認為已經完成了賦值,而不會理會後面的"空f"
結果a=3,b=',c='e'
可以這樣測試。
#include
longmain()
c語言程式設計問題 為什麼在scanf(" %c",&ch);中%c加個空格就正確了?加空格和沒加空格有什麼不同?求解,詳細點
11樓:網友
我的理解是你先輸入1 2按回車,然後螢幕顯示zhifu ,然後你在輸入+。
如果你是這樣輸入的話%c前沒有空格的話+不會讀入程式賦給ch,因為輸入1 2後的回車符號賦給了ch,而接受回車的意思就是輸入終止,所以+並沒有賦給ch
12樓:倒黴熊
這是因為你輸入的時候,是這樣輸入的。
1 2 +這樣吧,符號和前面的數字之間有乙個空格??
這個空格就是scanf中的要加的那個空格,如果你輸入1 2+沒有空格,則不需要,你試試!!
13樓:網友
原因在於函式scanf把使用者輸入的回車和空格也當做乙個有效的字元讀入處理了(在你輸入兩個數按的那個回車被後面的scanf(" %c",&ch)讀入),所以出錯!
在%c前加空格就是為了儲存回車或空格等特殊字元。
c語言,scanf("%c", &b)為什麼要輸入兩個 ^z 才返回檔案結尾 -1 ?
14樓:王勃啊
編譯器不同導致結果不同。
你可以測試一下附件裡面的exe,由codeblocks編譯出來的。
C語言,我的程式為什麼執行不對,c語言中輸入一個程式後顯示無錯誤,為什麼不能執行
是陣列,本身就是地址,不必用 2 b進位制,每位上的數字最大值是b 1,因此,應該先檢視3個數各位的數字,取最大值 1作為b的最小值.3 注意,base在每次求1個數之前,要重新歸1。你求sum1,sum2,sum3前,都沒有歸1,base累積,越來越大。第一個base 1 應該在for i len...
為什麼我輸入什麼都顯示錯?!C語言程式問題
x沒賦值。d的值是乙個區間。scanf寫的是d的值吧,跟x半毛錢沒關係,也就是輸入不是給x賦初值。請問x的值呢?scanf只是獲取到了d 的值,下面需要x去做判斷卻不給x賦值,什麼鬼?c語言問題,為什麼什麼都不顯示,輸入別的程式能正常執行 關於j的迴圈中,抄出現襲了j i,關於j的運算bai。因此程...
C語言(英文)求解,C語言輸入一段文字(英文和中文字元均有),要求輸出其中的漢字問題。求程式碼。例如
這麼麻煩呀.八十分.你最少也得給五百分.才會有時間幫你整,沒辦法.經濟是第一位的.c語言輸入一段文字 英文和中文字元均有 要求輸出其中的漢字問題。求 例如 這個就是ascii的編碼問題,就是去除文字中值小於128的資料其實很簡單,在編碼中,英文只佔0 127,也就是一個位元組中的最高位是0 漢字中,...