1樓:匿名使用者
你在輸入第二行按下回車之後,輸入的這行內容就被存在緩衝區裡,scanf就會按指內
定的容輸入格式來讀取這些資料,每遇到空白、回車或者tab就會認為那個資料結束,所以n次迴圈就會讀入n個資料,按上面的理解,如果你輸入的時候是輸入這種
988回車
74回車
。。。這種也是可以的。
c語言for迴圈裡的scanf怎麼用?
2樓:樂跑小子
int i;
int a[10] = ;
for(i = 0; i < 10, i++)for(i = 0; i < 10; i++)這是輸入
數字的,要輸入字母的話,可專以把a[10]定義為char型屬
3樓:匿名使用者
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
4樓:手機使用者
因為你非copy常有可能每輸bai入一個字元就按了一次du回車,而回車其實也是一個字zhi符。
在 scanf("%c",char[i]);語句後加上一dao句getchar();就可以啦!
如果前面有輸入資料的情況。把getchar();放在 scanf("%c",char[i]);之前。
5樓:東郭遠酈秋
肯定是因為game()函式裡有scanf語句,並且scanf之後沒有處理scanf留下的換行符。
scanf從螢幕是讀取資料時,往往
專不會自動讀掉
屬行尾的換行符(你輸入資料後,肯定會按一個回車的對吧),所以在game函式裡的最後一個scanf結束後,輸入緩衝區裡還一個換行符在裡面,這個時候main函式裡的scanf函式讀到的字元就是那個換行符
解決方法:
在game函式的最後一個scanf函式後面,加上一個gets語句,用來讀掉最後一個換行符即可,當然如果你的輸出裡敲了多個回車,就要執行多句,不懂可以貼上你的game()函式和你上面的輸入,我再告訴你
c語言for迴圈裡輸入陣列元素時關於scanf的問題
6樓:匿名使用者
for(i=0;i<5;++i)
}如果是這種形式的就輸一個數按一次版
回車。權
7樓:匿名使用者
是給二位數字賦值嗎?
在內層迴圈scanf前面加個printf啊printf("data[%d][%d]",i,j);
輸入的值一定要和定義的陣列匹配
8樓:壤駟禮萬橋
gets()會將回車一起讀進字元陣列裡,而scanf("%s")不會讀回車
scanf("%s")會將空格和回車留在輸入流裡,下一次讀取,讀輸入流裡的下一個字元。
你開一下debug除錯看看,就知道了。
c語言關於for迴圈中使用scanf連續輸入的問題or not,求大神看看**。
9樓:聽不清啊
#include
int main()
for(i=0;i return 0;} c語言輸出陣列時,需要根據陣列下標,或者指標移動進行輸出。所以,一般不會用一內個迴圈容輸出多個陣列,這樣操作不方便,而且降低效率。常規的做法是,在多個迴圈中,各自輸出不同的陣列。示例 如下 include int main include void main int y 5 int z 5 int ... 簡單的for迴圈程式如下 for int i 0 i 20 i 執行步驟是 1 i 0 初始化初值 2 進行條件專判斷i是否 20,如果條屬件為真,則繼續執行 3 執行迴圈體的 4 i 變數i自增一次 5 回到第2步,一直迴圈,直到第2步條件為假時,退出迴圈,結束。開啟嗶哩嗶哩,搜尋 詳解c語言之f... 你的for迴圈用錯了,for的三個引數第一個是賦初值,第二個是迴圈條件,第三個是增值。你的迴圈條件沒有給,並且就算寫對位子你的條件好像也錯了,按你的意識是大於10就退出,但是你的迴圈條件是 這是 或 也就是滿足一個條件就進行迴圈,當你輸入10的時候大於了1,那麼迴圈就可以進行。所以你應該是用 用 且...c語言迴圈中如何輸出多個陣列,C語言FOR迴圈幾個陣列不同
c語言for迴圈執行步驟,C語言 for迴圈執行步驟
c語言for迴圈問題,c語言 for迴圈問題