作者godman362 (卯)
看板C_and_CPP
標題[語法] ","後面的敘述句
時間Thu Jul 29 10:59:51 2010
在trace gcc的code的時候,發現一段程式碼有點疑問
下面這段是他在作lex的時候的程式段:
case ':':
result->type = CPP_COLON;
if (*buffer->cur == ':' && CPP_OPTION (pfile, cplusplus))
*buffer->cur++, result->type = CPP_SCOPE
else
.....
.....
他程式碼寫if時,並沒有加上左右大括號,卻執行兩行程式碼
但實際上是會被執行的,而且沒有問題
不過我換了另一種方式就沒有辦法了,如下code
int i = 0;
if (!i)
printf("123\n"), printf("456\n");
else
printf("789\n");
這樣的寫,只會印出
123,後面的
456卻不會印出
這就是我不明白的地方,為什麼assign的敘述句會處理,但是printf(i/o)卻不處理呢?
還請指點一下,謝謝
--
幸福出租社,誠徵社員。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.123.105.91
→ tinlans:但是這 code 怎麼看都會印出 456 才對。 07/29 11:25
→ godman362:欸....剛剛重新測又可以了 07/29 11:32
→ godman362:我再多測試幾次好了,謝謝 07/29 11:32
→ loveme00835:XD 07/29 11:45