作者os653 (allstar)
看板C_and_CPP
標題[問題] 關於一個 return 的問題
時間Sun Apr 26 21:08:14 2009
程式如下
void a()
{
}
long b()
{
return (a(), 0L);
}
int main()
{
long c = b();
return 0;
}
想請問,c 為什麼等於 0?
完全看不懂 b() return 了什麼東西給 c ...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.170.2.121
1F:推 sunneo:因為 `operator ,` 回傳 0L ( office lady ? ) 04/26 21:26
2F:→ sunneo:另外 void a() 是不會回傳的 04/26 21:26
3F:→ os653:請問'operator ,'的行為要去哪裡找呢?還是有點不懂 ... 04/26 21:37
4F:→ os653:找到了 ... 終於瞭解囉,感謝您 04/26 21:43
5F:推 AlinChang:請問2F S大..a() 因為是(Null) 是不是也等於什麼也沒做? 04/27 00:01
6F:→ AlinChang:即便他是int a() 04/27 00:01
7F:推 sunneo:的確是什麼也沒做 編譯器看到他是空的函式 也會把他去掉 04/27 00:12
8F:→ sunneo:但如果函式取得a的return value是有效的 那麼就不會去掉 04/27 00:13