暇潰し
課題内容:
整数を順番に入力し、負の数が入力されたら、それまでに入力された非負の整数を、 入力された順番とは逆に全角空白で区切って出力するプログラムを作成しなさい。
なお、入力は最大10回とする。
http://mixi.jp/view_bbs.pl?id=6919574
んで、やってみた([初心者の為のC言語] トピックなので、書き込みはしていないが)。
一応gcc-3.4.4で-Wallつけて警告でないことを確認してある。
#includeint c=9; int main(void) { int n; scanf("%d",&n); return n<0?0:(c--&&main(),printf("%d ",n)); }
カンマ演算子の優先順位低すぎ。
(追記:2006/05/24 id:namasute0ほか数名により)
c=9; main(){ int n; scanf("%d",&n); n<0||printf("%d ",n,c--&&main()); }