Closed. This question needs details or clarity。它当前不接受答案。
想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
3年前关闭。
我想在控制台中打印两个字符串
我想得到这个结果:
但是我得到:
在每个循环中,光标返回到b所在的行的开头,并用新的a值覆盖OVER:
由于速度很快,因此您只能看到最后一个。确实不清楚要执行的操作,但是如果仅需要最后一次运行的输出,则可以在循环之后编写printf:
想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
3年前关闭。
我想在控制台中打印两个字符串
int k = 3;
for (int i = 0; i < k; i++)
{
printf("\ra: %d\n\rb: %d", i*2, i*3);
}
我想得到这个结果:
a: 4
b: 6
但是我得到:
a: 0
a: 2
a: 4
b: 6
最佳答案
之所以要得到该输出,是因为您在a之前只有一个\r
,但是在其中a和b之间只有\n\r
:
printf("\ra: %d\n\rb: %d", i*2, i*3);
在每个循环中,光标返回到b所在的行的开头,并用新的a值覆盖OVER:
1st 2nd 3rd run
a=0 a=0 a=0
b=0 a=2 a=2
b=3 a=4
b=6
由于速度很快,因此您只能看到最后一个。确实不清楚要执行的操作,但是如果仅需要最后一次运行的输出,则可以在循环之后编写printf:
for (int i = 0; i < k; i++)
{
...
}
printf("\r\na: %d\n\rb: %d", i*2, i*3);
关于c - 打印两个字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39337015/
10-12 19:53