我寫一個程序使用用於循環和印刷後打印整數值,程序應該等待1秒鐘,在此之後的那些整數是重寫與換句話說程序的目的是雙重的空格字符等待一秒鐘後擦除這些整數。在C環括號
此程序:
#include <stdio.h>
#include <time.h>
int main (void) {
int i;
for(i=1;i<=5;i++){
printf("%d ",i);
}
for(;clock() < CLOCKS_PER_SEC;){} /*wait for one second*/
printf("\r"); /*move to the beginning of the line*/
for(i=1;i<=5;i++){
printf(" "); /*overwriting the integers*/
}
printf("\n");
return 0;
}
的問題是在等待循環環路括號`爲(;時鐘()< CLOCKS_PER_SEC;){}」時,我 正確刪除那些括號中的程序工作。但是如果帶括號的for循環。該程序不起作用,我的意思是程序仍然運行,但它覆蓋整數,而不是先顯示那些整數。
請有人解釋發生了什麼?
你能解釋一下我準確地說了'stdout'嗎? – harianja 2014-10-18 03:08:14
@傑里米弗里斯納的回答更貼切和正確。標準輸出是「標準輸出」 - 本質上就是您的情況。 – cm2 2014-10-18 03:10:04
傑里米的回答不正確;他會後退哪個版本有效,哪些不會,並且沒有發現問題與不刷新標準輸出有關。你的評論「{}」很奇怪;確實,您不必將'{'和'}放在單個語句中,但刪除'{}'當然不是無用的。 – 2014-10-18 04:16:14