[語法] ","後面的敘述句
在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
→
07/29 11:25, , 1F
07/29 11:25, 1F
→
07/29 11:32, , 2F
07/29 11:32, 2F
→
07/29 11:32, , 3F
07/29 11:32, 3F
→
07/29 11:45, , 4F
07/29 11:45, 4F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章