打印两个字符串

时间:2016-09-05 20:02:25

标签: c string console printf console-application

我想在控制台中打印两个字符串

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

3 个答案:

答案 0 :(得分:1)

如果将循环更改为

for (int i = 2; i < k; i++)

这将打印您要求的结果。

a: 4
b: 6

答案 1 :(得分:1)

您获得该输出的原因是您在a之前只有一个\r,但在a和b之间只有\n\r

printf("\ra: %d\n\rb: %d", i*2, i*3);

每个循环,光标返回到b所在的行的开头,然后写入OVER,并带有a的新值:

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);

答案 2 :(得分:0)

你可以在里面做一个if:

if (i * 2 == 4)
    printf ...