2017-05-15 5 views
3

私はCのプログラミングには新しく、putchar()関数を使ってint値を出力した後に改行( "\ n")を追加する方法を理解しようとしています。 K & Rによる「The C Programming」の書籍では、以下のスクリプトを提供していますが、すべての文字が同じ行に印刷されています。 1行に1文字を印刷するコードを変更するにはどうすればよいですか?putchar()(Cプログラミング)を使用して整数の最後に改行を追加しますか?

#include <stdio.h> 

void main() { 
int c; 

c = getchar(); 
while (c != EOF) { 
    putchar(c); 
    c = getchar(); 
} 
} 

は、私はこのようなものでのprintf()を使用することができます知っている:

printf("%d\n", c); 

しかし、Cプログラミングとのputchar()関数のようなものがあれば、私は疑問に思って:

putchar(str(c)+"\n"); 

あなたがPythonでそれをやり遂げるのと同じ方法です。ありがとう!

+5

別の 'putchar'呼び出しを追加してください。 'putchar( '\ n')' –

+5

1)Cはスクリプト言語ではありません。 2)put ** char **はput ** string **と呼ばれません。 3)違反はありませんが、あなたのテキストから、私は良い本から言語を学び、章をスキップしないことをお勧めします。 4) 'void main()'は無効な署名です。最小の署名は 'int main(void)'です。 5)K&Rは現代Cをカバーしていない。より最近の本を入手** **少なくともC99、より良い標準CはC11です。 – Olaf

+3

@Olafの知恵に加えて、C言語を学びたいなら、コンパイル文字列に少なくとも-Wall -Wextraを含めて、常に**コンパイラの警告を有効にしてください。コンパイラはあなたに警告しています(最近はかなり良いです)。そして何よりも、警告なしできちんとコンパイルするまで、決して**コードを受け入れません。 –

答えて

5

putchar関数は、一度に1つの文字のみを書き込みます。各文字の後に改行を印刷する場合は、改行文字をに追加してください。

putchar(c); 
putchar('\n'); 
関連する問題