在此代碼爲什麼其他塊如果塊被分配給末尾的num1,num2和0,那麼塊被執行?
#include <stdio.h>
int main(){
int i;
if(i= 50,40)
printf(" if blk i %d\n",i);
else
printf(" else part");
return 0;
}
輸出當屬
如果BLK我50
但是當一個零添加到分配部分的if語句,它進入其他部分。爲什麼這個0使它轉到其他部分?
下面的代碼:
#include <stdio.h>
int main(){
int i;
if(i= 50,40,0)
printf(" if blk i %d\n",i);
else
printf(" else blk i %d\n", i);
printf("i %d\n", i);
return 0;
}
你認爲世界上有什麼「我= 50,40」呢?搜索關於逗號運算符和賦值運算符。另外C和C++是不同的語言!不要添加錯誤的標籤! – Olaf
@olaf非常感謝逗號運算符,但除此之外,對於這個小代碼片段,c和C++都是一樣的,我只是檢查過它。對不起,不好的帖子反正 –
如果你超載其中一個操作員,則不應該。相同的語法和語法並不意味着相同的語義!只要選擇你使用的語言。 – Olaf