#include
#include
#include
main()
{
int x,
printf(\"Hello! Ths is a test! \\n\");
for (x=0;x<50;x++)
printf(\"%d\\n\", x);
system(\"pause\");
}
問題:因為不斷printf(\"%d\\n\", x);,那畫面會不斷滑下,
Hello! Ths is a test! 會不見
如果想 Hello! Ths is a test! 位於畫面上方
但不會隨程式執行而不見,那需加甚麼?
2006-08-12 13:33:19 · 3 個解答 · 發問者 Anonymous in 電腦與網際網路 ➔ 程式設計
你是要把 "Hello! This is a test!" 印在某個不是最下面的地方,然後〝一直〞印在那裡,不要「上捲」,對嗎?
下列是我想到的可行的方法,看看哪個是你要的,或是是你會用的。
A. 去掉 \n :\n 是換列,一般螢幕只有 25 列,你印了 50 列,一定會捲出螢幕。
把 \n 去掉,它會一個接一個印,就不會捲出螢幕了。
B. 用控制游標:
a. 用 ANSI 的印出:它較標準。DOS 下要在 config.sys 裡加上device=ansi.sys 才可以用。
Linux直接支援。我沒在 Windows 下寫過程式,不知。用法:
printf("\x1B[%d;%dHHello! This is a test!\n", row, col);
其中,row, col 你是要印出的座標。
b. 用 conio.h 裡的 gotoxy(x, y); :它不是標準,〝好像〞只有 Turbo C 有支援。
用法:在程式開始處加上
#include
把 printf 都改成 cprintf
在 cprintf 前加上
gotoxy(x, y); 其中,x, y 你是要印出的座標。
C. 直接控制游標:這方法在 Linux 裡不能用!
在 DOS 裡可以,比上述2個方法好用,但危險!
你要,而且你對 C 有程度,我可以告訴你。
2006-08-12 18:21:00 · answer #1 · answered by ? 7 · 0⤊ 0⤋
不然給他改成這樣就好了咩,會一直出現Hello!Ths is a test!
#include
#include
int main()
{
int x;
for (x=0;x<50;x++)
printf("Hello! Ths is a test! \n");
system("pause");
}
------------還有不然改成這樣也可以= ="-------------------
#include
#include
int main()
{
int x;
for (x=0;x<50;x++)
{
printf("%d\n", x);
printf("Hello! Ths is a test! \n");
}
system("pause");
}
---------------------------不然也可以這樣----------------------
#include
#include
#include
int main()
{
int x;
for (x=0;x<50;x++)
{
printf("%d\n", x);
printf("Hello! Ths is a test! \n");
Sleep(100);
system("cls");
}
system("pause");
}
2006-08-12 22:42:06 · answer #2 · answered by Anonymous · 0⤊ 0⤋
這程式沒問題呀!
設計一個程式時,一定要知道一件事,就是你想要什麼結果,上面的結果與你預期有落差,只是你並不熟悉Printf()的特性而已。若不是的話,請將你要的功能完整描述清楚,再來詢問會比較容易得到答案。
2006-08-12 17:47:38 · answer #3 · answered by ㄚ旺 5 · 0⤊ 0⤋