c語言for迴圈裡的scanf怎麼用

2021-05-14 13:55:58 字數 2080 閱讀 6369

1樓:樂跑小子

int i;

int a[10] = ;

for(i = 0; i < 10, i++)for(i = 0; i < 10; i++)這是輸入

數字的,要輸入字母的話,可專以把a[10]定義為char型屬

2樓:匿名使用者

const int max = 30;//這樣不好吧#defin max 30

char name[arraysize][max];

printf("enter number of marks: ");

scanf("%d", &arraysize);

for (i = 0; i < arraysize; i ++)#include

#define max 30

int main(void)

{int i, tmp;

char mark[max][max];

char name[max][max];

printf("enter number of marks: ");

scanf("%d", &tmp);

for (i=0; i

3樓:手機使用者

因為你非copy常有可能每輸bai入一個字元就按了一次du回車,而回車其實也是一個字zhi符。

在 scanf("%c",char[i]);語句後加上一dao句getchar();就可以啦!

如果前面有輸入資料的情況。把getchar();放在 scanf("%c",char[i]);之前。

4樓:東郭遠酈秋

肯定是因為game()函式裡有scanf語句,並且scanf之後沒有處理scanf留下的換行符。

scanf從螢幕是讀取資料時,往往

專不會自動讀掉

屬行尾的換行符(你輸入資料後,肯定會按一個回車的對吧),所以在game函式裡的最後一個scanf結束後,輸入緩衝區裡還一個換行符在裡面,這個時候main函式裡的scanf函式讀到的字元就是那個換行符

解決方法:

在game函式的最後一個scanf函式後面,加上一個gets語句,用來讀掉最後一個換行符即可,當然如果你的輸出裡敲了多個回車,就要執行多句,不懂可以貼上你的game()函式和你上面的輸入,我再告訴你

c語言for迴圈用scanf輸入字元是怎樣執行的

5樓:匿名使用者

問題有點模糊哦,沒迴圈一次就會要求輸入字元,但不可以有空格鍵!但用gets();可以避免

問題不是我猜的這樣繼續問吧!哈哈

6樓:匿名使用者

樓主的**有三個問題,

第一是for(i=1;i<3;i++);

這句不應該由分號結尾,這樣的話後面的語句不會是for的一部分。

第二:case '0':printf("another\n");後面應有break。

原因是,如果k為0,這句執行之後,case '1'中的語句同樣會執行。

第三:for(i=1;i<3;i++)只會迴圈兩次,因此不會出現樓主所說的三個結果

7樓:匿名使用者

void main()

這樣應該可以的。不過你要輸入字串的話,直接用scanf("%s",a);就可以了。

c語言for迴圈裡輸入陣列元素時關於scanf的問題

8樓:匿名使用者

for(i=0;i<5;++i)

}如果是這種形式的就輸一個數按一次版

回車。權

9樓:匿名使用者

是給二位數字賦值嗎?

在內層迴圈scanf前面加個printf啊printf("data[%d][%d]",i,j);

輸入的值一定要和定義的陣列匹配

10樓:壤駟禮萬橋

gets()會將回車一起讀進字元陣列裡,而scanf("%s")不會讀回車

scanf("%s")會將空格和回車留在輸入流裡,下一次讀取,讀輸入流裡的下一個字元。

你開一下debug除錯看看,就知道了。

c語言中用scanf和迴圈語句是怎麼給陣列一一賦值的

include int main void for i 0 i 10 i return 0 同樣的,用for一個個賦值for i 0 i 定義一個變數,從下標0開始,一直到n 1個為止。這就是輸入和輸出的迴圈 c語言,怎麼用for 迴圈給陣列賦值 說的簡單詳細點,謝謝了 for i 1 i 11 i...

關於C語言scanf 的問題,關於C語言scanf 的一個問題

回車 也是一個字元,編譯器把 回車 賦給了x。這也是使用字元特別之處要注意。另外編譯器有些智慧,先執行了scanf c x 再執行printf 請輸入x 而scanf c x 放在後面,回車 執行的是它原來特有的功能。在這個程式中的 printf 請輸入a scanf d a printf 請輸入x...

c語言(scanf函式問題),c語言中scanf函式定義寬度的問題

搞不清楚你的問題是什麼意思,只能給你簡單的分析一下了scanf函式有輸入的功能,這是廢話了,一般來講我們輸入資料都有多個,很少會出現僅輸入一個的情況 多行輸入的情況除外 既然我們要輸入多個,就必須要用某些符號將它們分隔開 如 空格是最常見的,還有就是逗號 如果沒有分隔開,scanf d d a,b ...