入出力 getchar putchar

入出力はgetcharとputchar

入力を出力へコピーするプログラム
#define EOF 0
main ()
{
int c;
c = getchar();
while (c != EOF) {
putchar(c);
c = getchar();
}
}

Cの特徴である圧縮記法の一つ:テストの中に代入文を埋め込むと、
#define EOF 0
main ()
{
int c;

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

ここでc = getchar()を括弧で囲うのは必須。
なぜなら!=は=よりも評価優先度が高いので()で囲わないと
c= (getchar() != EOF)となってしまい、Cには0か1がセットされるだけになる。

カテゴリー: C タグ: , , , パーマリンク