int main()
{
int var1=4, var2=6;
var2=var2||var1++&&printf("computer world");
printf("%d%d",var1,var2);
getch();
}
打印的答案是41。正在使用邏輯運算符的c程序
問題:
這裏不是打印'計算機世界'。 根據優先順序,我們必須計算&&
邏輯運算符,但這裏的行爲不一樣,和var1
值應該是語句後增加,但沒有。 我預期的答案是computer world51
。
這是最近的至少一個問題的副本,以及可能的幾個年長那些。這是一個優先與執行順序的問題。 –
您只需將源代碼複製粘貼到Google中即可。你可以找到多個網站有相同的問題。 –
[運算符優先級問題]的可能重複(http://stackoverflow.com/questions/7212482/problem-with-operator-precedence)。另一個是[爲什麼低優先級運算符首先執行](http://stackoverflow.com/questions/12152143/why-lower-precedence-operator-executes-first)。 –