課程
/后端開發
/C
/C語言入門
a++ --a 怎么計算呢?
?
2015-01-06
源自:C語言入門 3-3
正在回答
a++表示先取之前的a值,再做加法運算;++a表示先做加法運算,再取現有a值。因此,若a=1,b=a++,此時b=1,a=2;如果求b=++a,此時b=2,a=2。--a和a--同理。
a++?? 表示先進行賦值,后面再加一。--a表示先減一,然后再賦值給a。
1,a++和--b你可以這樣子理解,設本來a=b=0;經過上面計算后,a的值為1,b的值為-1;但是c=a++等于0,這里c 取得是運算前的值,--b代表的是運算后的值,猜想b=?運算前的初值是0,經過減法運算后的值則為-1;即d=--b=-1
missyou012
運算符在前面,先運算再取值,如 ++a; 如果a原來等于0,現在a等于1。取值也會是1;
運算符在后面,先取值再運算,如a++; 如果a原來是0,運算完a等于1,為下一次取值做準備,但本次取值因為是先取值,所以取值為0;
編譯器按照最長匹配原則從左到右來解析代碼,所以在語法上這句代碼被認為是?((a++)-- a)。
不過 ++ -- 這樣的自增減運算符的操作數必須是左值(lvalue)。 a是左值,所以 a++ 是合法的,然而 (a++) 這個表達式的值是右值(rvalue),不允許再作為 -- 的操作數了,所以本句在語義上出錯了。最終編譯器會報錯。
另外,不要在一個語句中對同一個變量多次取值、賦值,這樣的結果很可能是未定義的。
就是+1和-1
左側內容中有講解啊
舉報
C語言入門視頻教程,帶你進入編程世界的必修課-C語言
2 回答自增,自減運算法則
4 回答自增自減運算
2 回答自增與自減運算
8 回答自增自減運算符
2 回答自增減運算
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-03-11
a++表示先取之前的a值,再做加法運算;++a表示先做加法運算,再取現有a值。因此,若a=1,b=a++,此時b=1,a=2;如果求b=++a,此時b=2,a=2。--a和a--同理。
2016-03-10
a++?? 表示先進行賦值,后面再加一。--a表示先減一,然后再賦值給a。
2016-01-26
1,a++和--b你可以這樣子理解,設本來a=b=0;經過上面計算后,a的值為1,b的值為-1;但是c=a++等于0,這里c 取得是運算前的值,--b代表的是運算后的值,猜想b=?運算前的初值是0,經過減法運算后的值則為-1;即d=--b=-1
2016-01-25
運算符在前面,先運算再取值,如 ++a; 如果a原來等于0,現在a等于1。取值也會是1;
運算符在后面,先取值再運算,如a++; 如果a原來是0,運算完a等于1,為下一次取值做準備,但本次取值因為是先取值,所以取值為0;
2015-01-07
編譯器按照最長匹配原則從左到右來解析代碼,所以在語法上這句代碼被認為是?((a++)-- a)。
不過 ++ -- 這樣的自增減運算符的操作數必須是左值(lvalue)。 a是左值,所以 a++ 是合法的,然而 (a++) 這個表達式的值是右值(rvalue),不允許再作為 -- 的操作數了,所以本句在語義上出錯了。最終編譯器會報錯。
另外,不要在一個語句中對同一個變量多次取值、賦值,這樣的結果很可能是未定義的。
2015-01-06
就是+1和-1
左側內容中有講解啊