關于++x的一些小問題?
我在2-22章節中做到了這個題(前面的無關代碼省去了):int x=1;
bool a =++x*x >3; ?運算符的優先級不是一元運算符高于乘除取余嗎?
那我算出的 bool a =++x*x>3 應該是false吧?因為++x的優先級大于x*x 所以我算的是2*1>3 得出了false得結果。但是我在評論中看到同學們算的結果是 bool a = ++x*x>3 得出的結果是4 true 請問是我在哪里的計算或理解出了問題嗎?
我在2-22章節中做到了這個題(前面的無關代碼省去了):int x=1;
bool a =++x*x >3; ?運算符的優先級不是一元運算符高于乘除取余嗎?
那我算出的 bool a =++x*x>3 應該是false吧?因為++x的優先級大于x*x 所以我算的是2*1>3 得出了false得結果。但是我在評論中看到同學們算的結果是 bool a = ++x*x>3 得出的結果是4 true 請問是我在哪里的計算或理解出了問題嗎?
2017-10-07
舉報
2019-06-15
?我 也是有這個 疑問.。。但是有些是不變的 ,分不清楚,不變的是常量
2018-10-29
666
2018-06-27
你的分析是對的,先計算++x,但是x是值類型,簡單說,只要你在某一個地方修改它的值,以后用它的時候都是修改后的那個值
2017-10-07
哦不好意思剛剛才發現有相似的提問并且我也在其中找到了解決問題的答案:++x先運行即 x+1=2;隨后后面x*x的變量x也變為了2,所以 2*2>3是true