4*3
には 12
という
結果がある。同じように、a=4
という代入演算にも結果があり、
結果は代入した値 4
になっている。このことを使うと次の様な文が
可能である。
int a, b; a = b = 3; |
この例では、最初に b = 3
が評価され、その結果は 3
になる。
つまり、a = ( b = 3 )
と考えれば良い。従って、b = 3
の代入が
終了した時点では、a = 3
となるのである。
これを更に応用すると、次の例は、
char c; c = getchar(); if ( c != EOF ){ ... |
char c; if ( (c=getchar()) != EOF ){ ... |
但し、a > b > 0
などは文法的には正しいが、通常数学で考えるようには
ならない点に注意しよう。何故ならば、この場合、(a > b) > 0
と考えられる
のだが、a > b
は比較演算なので、結果は真または偽(多くの場合 1 又は 0)
なので、それと 0 との大小比較という意味になるのであるから注意しよう。
先の標準関数 putchar(), getchar()
と、
この代入演算を使うと次の例のように
一文字づつ読み取って、出力することが出来る。
/* 入力またはファイルの終わりまで読みとり、出力 */ #include <stdio.h> main(){ char c; while( (c=getchar()) != EOF ){ putchar(c); } } |
注意 キーボードからファイルの終わりを入力するには、crtl+D ( コントロールキーと d を同時に )押せば良い。