劇多
首頁
資訊
體育
娛樂
汽車
投資
財經
軍事
科技
數碼
科學
遊戲
歷史
健康
政治
影視
旅遊
育兒
美食
時尚
房產
農業
社會
文化
教育
技術
美文
情感
故事
家居
職場
自然
闢謠
心理
攝影
漫畫
生活
其它
Club
Tips
熱門話題
搜尋
註冊
登入
首頁
>
Club
>
2021-02-02 18:43
c++運算子的自增自減?
12
回覆列表
1 # 使用者8542928681829
這是一類特殊的運算子,自增運算子++和自減運算子--對變數的操作結果是增加1和減少1。
例如: --Couter; Couter--; ++Amount; Amount++; 看這些例子裡,運算子在前面還是在後面對本身的影響都是一樣的,都是加1或者減1,但是當把他們作為其他表示式的一部分,兩者就有區別了。運算子放在變數前面,那麼在運算之前,變數先完成自增或自減運算;如果運算子放在後面,那麼自增自減運算是在變數參加表示式的運算後再運算。這樣講可能不太清楚,看下面的例子: num1=4; num2=8; a=++num1; b=num2++; a =++num1;這總的來看是一個賦值,把++num1的值賦給a,因為自增運算子在變數的前面,所以num1先自增加1變為5,然後賦值給a,最終a也為5。b=num2++;這是把num2++的值賦給b,因為自增運算子在變數的後面,所以先把num2賦值給b,b應該為8,然後num2自增加1變為 9。那麼如果出現這樣的情況我們怎麼處理呢? c=num1+++num2; 到底是c=(num1++)+num2;還是c=num1+(++num2);這要根據編譯器來決定,不同的編譯器可能有不同的結果。所以我們在以後的程式設計當中,應該儘量避免出現上面複雜的情況。
發表回復
相關內容
批處理可以用變數來代替算數運算子進行運算嗎?
c語言中指標運算子*和自增運算子++的優先順序?
verilog位拼接運算子{}怎麼用的啊?
數學運算子號的來歷是什麼?
詳細解析Java中運算子的使用?
C語言中運算子怎麼儲存?
用switch設計一個輸入兩個數個指定運算子?
C語言中按位運算子之間有沒有類似數學上加減乘除的運算律的關係?
布林邏輯檢索的主要運算子有哪些?
∧
中秋節和大豐收的關聯?
∨
用4,6,7這個三數學組成一個三位數,最大的數是多少?
熱門排行
蝦膏弄到白色衣服上怎麼洗掉?
劃撥自建房可以買賣嗎?
繁華落盡歸於平靜的文案?
雲上大陸11階裝備條件?
一輪甲子是多少年?
蛋仔派對如何讓熊貓變大?
變形金剛霸天虎為什麼叛變?
高跟鞋穿了一天脫下來臭不臭?
反衝的定義?
比亞迪e 2為什麼這麼貴?
這是一類特殊的運算子,自增運算子++和自減運算子--對變數的操作結果是增加1和減少1。
例如: --Couter; Couter--; ++Amount; Amount++; 看這些例子裡,運算子在前面還是在後面對本身的影響都是一樣的,都是加1或者減1,但是當把他們作為其他表示式的一部分,兩者就有區別了。運算子放在變數前面,那麼在運算之前,變數先完成自增或自減運算;如果運算子放在後面,那麼自增自減運算是在變數參加表示式的運算後再運算。這樣講可能不太清楚,看下面的例子: num1=4; num2=8; a=++num1; b=num2++; a =++num1;這總的來看是一個賦值,把++num1的值賦給a,因為自增運算子在變數的前面,所以num1先自增加1變為5,然後賦值給a,最終a也為5。b=num2++;這是把num2++的值賦給b,因為自增運算子在變數的後面,所以先把num2賦值給b,b應該為8,然後num2自增加1變為 9。那麼如果出現這樣的情況我們怎麼處理呢? c=num1+++num2; 到底是c=(num1++)+num2;還是c=num1+(++num2);這要根據編譯器來決定,不同的編譯器可能有不同的結果。所以我們在以後的程式設計當中,應該儘量避免出現上面複雜的情況。