在下面的第一個程序中沒有錯誤。但是對於第二個程序存在錯誤。 這是爲什麼呢?c中賦值語句的條件表達式行爲
第一程序:
#include<stdio.h>
void main()
{
int k=8;
int m=7;
k<m?k=k+1:m+1;
printf("%d",k);
}
第二方案:
#include<stdio.h>
void main()
{
int k=8;
int m=7;
k<m?k=k+1:m=m+1;
printf("%d",k);
}
我沒有得到任何錯誤..請問錯誤嗎? – james 2012-07-16 10:28:38
作爲賦值左操作數所需的左值是給出的錯誤 – Dhatri 2012-07-16 10:32:40
我認爲你已經發現了gcc實現中的錯誤。提交一個錯誤,並在您的條件兩邊添加括號以解決該問題。 – dasblinkenlight 2012-07-16 10:33:34