gcc 3.3以降の文字列の扱い
改行を含んだ文字列の扱いが変わったみたい。 gcc-3.2.xでは
printf("test
this is a
TEST\n");
で問題なかったが、gcc-3.3とかgcc-3.4では
printf("test"
this is a
TEST\n");
に変換されて(最初の行に余計な**"**がついてしまうので文の意味を成さなくなる)しまう。余計なことを! と私は思うけども、Cの標準がそうなのかなぁ。よくわかんないけど、けっこう迷惑。
printf("test\n"
"this is a\n"
"TEST\n");
と書けと? (追記) 2004-04-15 23:42 gccというよりも、cppの段階で変換されてしまうのだ。