[語法] ","後面的敘述句

看板C_and_CPP (C/C++)作者 (卯)時間15年前 (2010/07/29 10:59), 編輯推噓0(004)
留言4則, 3人參與, 最新討論串1/1
在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
但是這 code 怎麼看都會印出 456 才對。
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
XD
07/29 11:45, 4F
文章代碼(AID): #1CKEwgdN (C_and_CPP)
文章代碼(AID): #1CKEwgdN (C_and_CPP)