要求, 打印移动的字母,
错题
这段代码打出来很诡异, O不会向右移动.
#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>
int main()
{
// ※※※※※※ 会移动的字母
// |O |
// | O|
//....
int a=1,b;
while (a<=30)
{
b = 1;
while (b<=a)
{
printf(" ");
b = b++;
}
system("cls");
Sleep(1000);
printf("O");
a = a++;
}
return 0;
}
解决方法
#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>
int main()
{
// ※※※※※※ 会移动的字母
// |O |
// | O|
//....
int a=1,b;
while (a<=30)
{
system("cls"); //提前
b = 1;
while (b<=a)
{
printf(" ");
b = b++;
}
printf("O");
Sleep(1000); //放后
a = a++;
}
标题
原因
#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>
int main()
{
// ※※※※※※ 会移动的字母
// |O |
// | O|
//....
int a=1,b;
while (a<=30)
{
b = 1;
while (b<=a)
{
printf(" "); //这里虽然打印了需要的空格.**
b = b++;
}
system("cls"); //但是出循环后,被这里清除了!**
Sleep(1000);
printf("O");
a = a++;
}
turn 0;
}