Я хочу напечатать две строки в консолипечати две строки
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
Я хочу напечатать две строки в консолипечати две строки
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
Причина, почему вы получаете тот вывод, что у вас есть только один \r
перед, но \n\r
между а и Ь в:
printf("\ra: %d\n\rb: %d", i*2, i*3);
Каждый цикл, курсор возвращается к началу линии, где Ь и пишет над ней, с новым значением для:
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);
Кстати, вы также можете использовать '\ t' для закладки между этими двумя переменными и держать их в одной строке. Таким образом, каждый раз, когда вы печатаете, вся вещь написана над 'printf (" \ ra:% d \ t \ tb:% d ", i * 2, i * 3);' Некоторые консоли поддерживают escape-коды типа '" \ 33 [1A ", который на самом деле является кодом для стрелки вверх на клавиатуре. –
Вы могли бы сделать если внутри внутри:
if (i * 2 == 4)
printf ...
Нет. Я хочу напечатать ТОЛЬКО две строки, и я хочу, чтобы «b» был обновлен. – ARTAGE
Если изменить цикл в
for (int i = 2; i < k; i++)
это напечатает результат, который вы просили.
a: 4
b: 6
Я знаю, но я хочу, чтобы «a» и «b» обновлялись в цикле. А в консоли было всего две строки (строки). – ARTAGE
Я напечатал две строки (строки) в консоли, точно так же, как вы просили. Пожалуйста, спросите об этом в вопросе. 'a' и' b' не могут быть обновлены в цикле, потому что они не являются переменными. –
Я имею в виду, что после цикла в консоли у меня должно быть только две строки. Но эти строки обновляются в цикле. – ARTAGE
Что значит «в реальном времени»? Программа печатает то, что вы говорите, чтобы печатать. – Lundin
Определяет, что ваш термин * в реальном времени * не означает для большинства, что это означает для вас. Я * думаю * вы пытаетесь показать только две строки, при этом счетчики визуально прокручивают значения, наконец, заканчивая свой опубликованный желаемый результат. Насколько я был близок? – WhozCraig