2017-02-17 20 views
0

標準入力から一度に1文字ずつデータを読み込み、その結果を標準出力に出力しています。 10文字ごとに改行したいたとえば:Cで10文字後に改行を挿入するにはどうすればよいですか?

1234567891 
01112 

出力 -

123456789101112 

入力 - これは私がこれまで持っているものですが、それは動作しません。

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