如何把列印的字串進入死迴圈?

時間 2025-02-28 11:50:25

1樓:網友

寫到乙個函式里面不停的呼叫啊。。。

j**a使用迴圈與字串列印組合星星

2樓:網友

這類問題要注意兩點:

1.要輸出多少行。

2.每行要輸出的資訊與行號的關係。

你可以用如下兩例方式思考你的問題。例子一*

外層迴圈控制行數。

for(int i = 1; i <= 3;i++)例子二、#####

#/外層迴圈控制行數。

for(int i = 1; i <= 3;i++)以上例子沒有除錯,不過大致思路就是這樣,希望對你有所幫助知其然,必知其所以然。

3樓:網友

我幫你做了下,編譯執行試過了,可以的:

class f

for(int z=i;z<10;z++)

for(int i=0;i<5;i++)for(int z=0;z<10-2*i;z++)

for(int i=0;i<10;i++)for(int z=0;z;}}

c++輸入字元出現死迴圈

4樓:網友

3樓是對的,解釋一下。是說如果輸入錯誤,就返回true。而就是修復輸入流。

是清空輸入流。因為如果輸入錯誤,錯誤的資訊依然在輸入流中,沒有被取走。這樣,使得迴圈每次都是輸入的錯誤資訊。

把輸入流清空一下,當前的輸入流就為空了,再次輸入如果正確,就輸入進去,如果還是錯誤,就再次把當前輸入流清空。

5樓:網友

那在你輸入變數值之前應該看好你所定義的變數是什麼型別。

為什麼輸入字元死迴圈

6樓:網友

你 能說一下 你這程式 要幹什麼嗎。

c語言 scanf("%d",&a);輸入字元為什麼會進入死迴圈?

7樓:網友

scanf("%d",&a); 應當鍵入數字,如果鍵入字母,scanf 語句執行失敗,a當中未取得輸入值,scanf函式返回0。

不一定是死迴圈,根程功編制的能有關。

有些情況,是由於輸入流裡的你鍵入的字母沒有被清掉,後面的輸入語句連續執行失敗。可以用 fflush(stdin); 清除多餘的字元。

例程:#include

int main()

8樓:文正

這個理論上是不會進入死迴圈的, 因為你只要輸入的數字是2, 它就會跳出迴圈。 但是問題是, 你的這個程式沒有清空輸入緩衝區的功能, 這樣一旦第一次輸入留下了乙個, 那後面的scanf就無法輸入了。

9樓:網友

因為scanf("%d",&a),%d要求的是數字,輸入字元的話,a不會被賦值。

也就是說a的值沒有改變,while迴圈的條件不變,當然會繼續執行。

10樓:莊政警

你這個問題可以利用scanf函式的返回值來解決,scanf函式的返回值是個整數,它的含義是輸入和格式匹配的引數的個數,比如scanf("%d"%d",&a,&b); 如果輸入 2 3,那就會返回2,輸入2 a,返回1輸入a 3 則返回0,一旦碰到格式不匹配的輸入,就把不匹配的輸入留在緩衝區並且拒絕讀取,那麼你這個例子的scanf("%d",&a);如果格式正確匹配的話會返回1,那就利用這一點來判斷是否出現了不匹配的情況:

int b=2,a=0;

scanf("%d",&a);

while(a != b)

/清空輸入緩衝,可能有字串輸入,所以用了迴圈} }

11樓:網友

scanf("%d",&a);

這語句只從輸入緩衝區接收數字,輸入字元時就不會接收,輸入的字元永遠在緩衝區內。

a沒有接收值所以a的值為初值0。

所以a != b為真,進入while迴圈。

而while裡面的scanf("%d",&a);語句一樣會從緩衝區接收數字,但緩衝區還是前面輸入的字元,所以還是接收不到。

所以a != b恆成立。

所以就會死迴圈。

12樓:網友

因為你要讀取的是數字,輸入乙個字元時, scanf函式會失敗,但是這個字元還在流裡面沒有被讀出來,所以就死迴圈動不了了。

13樓:雪南江

不像是死迴圈的樣子啊,你輸入2不就是退出了嗎?

為什麼輸入字元會出現死迴圈?

14樓:網友

這是由cin>>a;這個語句決定的。

由於定義了a是int型別,如果遇到cin不是int型別,則會出現異常,不會賦值給a,使其保持原值。

你輸入乙個超出int型別的值,如5555555555555555555,也會出現上述情況。

以下兩種方法測試通過。

解決方法一:用一char來排除非法字元。

#include

int main()while(b!='n');

continue;

if(a<0||a>100)

printf("error,print again!");

elsebreak;

return 0;

解決方法二:用陣列。

#include

using namespace std;

int main()

return 0;

15樓:網友

int型別的 a,不識別字元型的。

16樓:騎馬找虎的驢

檢查fasdf這幾個鍵是否正常?

c++在迴圈體中int型資料當輸入字元時直接進入死迴圈。

17樓:網友

#include

using namespace std;

int main()

else if(2 == a)

else//清楚錯誤狀態。

/忽略掉輸入緩衝區的資料。

return 0;

順便建議你去了解一下 行緩衝,全緩衝,無緩衝三種情況,瞭解出錯時,緩衝區是什麼狀況。

18樓:網友

因為cin進入了錯誤狀態。

加上這段。if (

else if(1 == a)

java中如何把一段字串寫入檔案中

ppos丨丶灬瘋傑 string str i love china file txt new file c documents and settings administrator 桌面 nihao.txt if txt.exists byte bytes new byte 512 bytes st...

mysql中如何把字串轉換成日期型別

春天的離開 select date format 2013 03 09 y m d select date format 2013 03 09 y m d select str to date 2013 03 09 y m d select str to date 2012 10 11 16 42 ...

如何用c語言輸入字串,把裡面連續的數字依次存放到陣列中

夔啟江澄邈 定義一個足夠的陣列,迴圈字元陣列,遇到數字就放到新的陣列中 void main i 0,j 0,x 0 printf 請輸入一串字元 n gets a for p a p 0 p else b i 1 b i 1 10 p 48 x 1 else x 0 for j 0 b j 0 j ...