c語言關於for迴圈中使用scanf連續輸入的問題or no

2021-03-26 07:02:57 字數 3522 閱讀 1893

1樓:聽不清啊

#include

int main()

for(i=0;i

return 0;}

c語言迴圈中變數的輸入問題

2樓:手機使用者

#include

main()

printf("no");

return 0;}

初學c語言,關於for迴圈中scanf函式應用的一點小疑問?

3樓:匿名使用者

你在輸入第二行按下回車之後,輸入的這行內容就被存在緩衝區裡,scanf就會按指內

定的容輸入格式來讀取這些資料,每遇到空白、回車或者tab就會認為那個資料結束,所以n次迴圈就會讀入n個資料,按上面的理解,如果你輸入的時候是輸入這種

988回車

74回車

。。。這種也是可以的。

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

4樓:匿名使用者

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

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

回車。權

5樓:匿名使用者

是給二位數字賦值嗎?

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

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

6樓:壤駟禮萬橋

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

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

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

用c語言進行程式時同時使用for迴圈和scanf輸入多個結構體資料時一直出問題、附上兩張圖 5

7樓:我回來了呼叫

for和scanf有直接的關係嗎?

用不用迴圈,你需要的輸入的資料量都不會改變?

c語言scanf迴圈輸入問題

8樓:匿名使用者

用scanf函式輸入數值時,可以指定列寬如scanf("%3f",&a);表示擷取3個數字字元賦給a,如輸入專2345,它只將234賦給a,輸出

屬結果為234.000000。不可以指定輸入精度,如scanf("%3.2f",&a)格式不合法的。詳情請查閱:c語言程式設計(第2版) 譚浩強 著,第85頁。

9樓:匿名使用者

%.2f表示輸出的float型變數有2位小數,它只是設定了格式輸出格式,不會影響迴圈,你看看你的錯誤提示是什麼。。補充一下,

10樓:匿名使用者

%.2f是格式化輸出用的,也就是用於printf函式的。

你這樣用,輸入的格式必須要有小數點,和小數點後兩位。

11樓:匿名使用者

%.2f是控制輸出的…copy在用scanf時不能用…你直接用scanf("%f",&n);就行…然後你可以輸入你想要的形式的浮點數…不過注意小數點後一般長度為6位…你輸入多的話就只擷取前6位小數…在輸出時可以用%.2f來控制輸出格式…小數點後的數字表示輸出幾位小數…小數點前的數字表示輸出的浮點數的長度也就是位數…

12樓:匿名使用者

沒有看清楚你說的%.2f是輸入時候出問題還是輸出,我認為應該是輸入時候的問題,輸出用這種方式的格式輸出是不會有什麼問題的,但是用格式輸入的話,這種寫法好像是不合法的。而且輸入時候直接用%f就可以了.

c語言的程式設計問題:關於for迴圈

13樓:匿名使用者

#include

int main()

return 0;}

14樓:匿名使用者

看一下c語言的輸

來入源輸出緩衝吧。你輸入a+回車 第一次迴圈讀取a,然後繼續迴圈,此時檢視緩衝區是否有內容,若有(此例中為回車),讀取並處理。

可以通過重新整理緩衝區或者getchar()方法解決。重新整理緩衝區,清空緩衝內容。getchar則是讀取乙個字元(本例中回車)並丟棄

15樓:dream夢殤

printf在for迴圈裡面 ,迴圈一次 執行一次,當然會每次都出現「請輸入乙個大寫字母」了

c語言程式設計,用for迴圈和scanf輸入陣列,一點回車電腦就報錯(只能輸兩行),求高手指點。

16樓:匿名使用者

把**貼出來看看。給你乙個能輸入的 例子。

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

17樓:林劍宇

源**貼出來看看……

18樓:姜子無牙

你總要把**貼上來把

19樓:匿名使用者

1.首先你有沒有寫 #include在開頭?

2.你在鍵盤的輸入是否和你的引數一致?

3. 下面的細節是否有注版意到?scanf()中的變數權必須使用位址。

scanf()的格式控制串可以使用其它非空白字元,但在輸入時必須輸入這些字元。在用"%c"輸入時,空格和「轉義字元」均作為有效字元。

4.例子

.#include

void main()}

20樓:匿名使用者

#include

#define n 100

void main()

i++;

if(i==n) i=0; //報道尾後i恢復為0} while (*p==0) p++;

printf("%d\n",*p);

}else printf("輸入錯誤\n");}

21樓:心心星亮

樓上的人雖然都很熱心,可惜他們的**要麼是都沒有經過測試就寫上來內,要麼是牛頭

不對馬嘴容的亂貼**上來。

你沒貼**上來,從你說的情況看來,你的問題出現在scanf函式上,這個函式你一定要小心使用,舉個例子:

int a;

scanf("%d", &a); //後面一定是&a,不能是a,&a代表a的記憶體位址,scanf要求輸入資料是存入a的記憶體位址。

對於陣列也一樣,比如乙個10個元素的陣列,你要從鍵盤輸入。你可以這樣:

int a[10];

int i;

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

關於scanf在for中迴圈讀取的問題。在c中第乙個scanf在for迴圈裡面無效,如果是乙個scanf會結束迴圈?

22樓:匿名使用者

建議這製

樣設計:

cout<<"現在正在下雨嗎?(輸入y或n)\n";

while ( 1 )

cout<<"現在正在下雨\n";

c語言問題如下圖for迴圈中的迴圈條件就已經是

舉個例子 n 3第一遍迴圈 i 2,i 2 執行抄bai if判斷.第二遍迴圈du i 3 跳出迴圈 這個時候,zhiidao素數 n 8第三遍迴圈 i 4,判斷if是true,跳出迴圈4 8所以8是素數 總結 在是素數情況下會迴圈到n 1,並且在i n時結束,所以判斷i是否小於n 這是因為如果沒有...

C語言中for迴圈中條件表示式的小於和小於等於問題

p編譯器試試就知道了 是小於號,是小於等於號,前者就是不能等於,而後者可以等於比如給a 10 賦值,寫成 for i 0 i 10 i 和for i 0 i 9 i 兩者只是表達方式不一樣,實際上都是一樣的,都是迴圈10次而你說那兩個,自然也是一樣的 結果是一樣的,但是意義不同!p a 10 可以等...

關於C語言的一道題迴圈語句,C語言迴圈語句裡的一道例題

a.for x i 因為沒有判斷語句,所以就沒有真假判斷,程式就一直迴圈下去咯。b.while 1 因為括弧裡面是1,在邏輯上說就是真,所以迴圈也會繼續。c.for i 10 i sum i 和a一樣,沒有判斷語句。答案是d就不用說了吧。a c缺少終止條件語句,當然死迴圈 b,while 1 1表示...