2017-02-17 3 views
0

Я читаю данные со стандартного ввода по одному символу за раз и выводя результаты на стандартный вывод. Каждые 10 символов, я хочу иметь новую строку. Например:Как я могу вставить новую строку после 10 символов в C?

INPUT-

123456789101112 

output-

1234567891 
01112 

Это то, что я до сих пор, но он не работает.

if(numChars = 10) { 
    printf("\n"); 
    numChars = 0; 
} 
+0

ли вы когда-либо приращение 'numChars'? – StoryTeller

+1

вы можете попробовать равенство '==' вместо назначения '=' – scrappedcola

ответ

1
#include <windows.h> 

int main() 
{ 
    char test[] = "123456789101112123133431234567891011121231334312345678910111212313343"; 

    int i = 0; 
    while (i < strlen(test)) 
    { 
     printf("%c", test[i++]); 
     if (i % 10 == 0) { 
      printf("\n"); 
     } 
    } 
    return 0; 
} 

enter image description here

+0

Обратите внимание, что использование 'strlen()' в части условия цикла не является особенно хорошей идеей - если только измеряемая строка не изменяет длину. Вызовите его один раз перед циклом и используйте возвращаемое значение. –

+0

Вы можете рассмотреть 'if (i% 10! = 0) putchar ('\ n');' после цикла завершить последнюю строку вывода. –

Смежные вопросы