c語言printf問題
#include<stdio.h>
voidmain()
{
inta=4,b=7;
printf("%d\n",(a=a+1,b+a,b+1));
}
#include<stdio.h>
voidmain()
{
inta=4,b=7;
printf("%d\n",a=a+1,b+a,b+1);
}
這兩個程序的輸出結果是什麼,有什麼差別,為什麼?????????????????
最佳回答:
第一個是8,第二個是5
第一個程序輸出函數printf("%d\n",(a=a+1,b+a,b+1));最後面是一個逗號表達式,只取最後一個表達式b+1,故結果為8
第二個程序輸出函數printf("%d\n",a=a+1,b+a,b+1);只輸出一個數字,卻有3個表達式,所以只打印第一個表達式的值a=a+1,故結果為5