これは、std 入力を取得し、入力数が 72 未満の場合に改行文字で終わる 72 文字を表示するプログラムです。終端の null 文字を追加する必要があります。バッファを出力すると、ジャンク値が得られます。ここで何が問題なのですか
int main() {
int buffer[ MAX_CHAR ];
int count = 0, ch = 0, i = 0;
while( (ch = getchar() != '@') ) {
// Buffer used to collect the i/p characters from the std i/p
buffer[count++] = ch;
if( MAX_CHAR - 1 == count ) {
buffer[ MAX_CHAR + 1 ] = '\n';
for(i = 0; i < MAX_CHAR; i++)
printf("%c", buffer[i]);
count = 0;
buffer[ MAX_CHAR ] = 0;
}
}
//If the input character is less than 72, then append the rest with spaces
if( count != MAX_CHAR - 1) {
for(i = count; i < MAX_CHAR - 1; i++)
buffer[ count ] = ' ';
buffer[ MAX_CHAR ] = '\n';
for(i = 0; i < MAX_CHAR; i++)
printf("%c", buffer[i]);
}
}