精品偷拍一区二区三区,亚洲精品永久 码,亚洲综合日韩精品欧美国产,亚洲国产日韩a在线亚洲

  • <center id="usuqs"></center>
  • 
    
  • 語句x = (a = 5,b = ++a); 運行后,x、a、b的值依次為?

    語句x = (a = 5,b = ++a); 運行后,x、a、b的值依次為?
    我想知道a的值到底是5還是6?
    其他人氣:340 ℃時間:2020-05-14 09:24:02
    優(yōu)質解答
    結果都是6,整個表達式運算結果如下.
    0.你首先要牢記,當一個變量被賦予一個新值的時候,舊值就沒有了
    1.a首先被賦予5這個值.
    2.++在前面是先加后算,所以a先自增為6,這時候5就已經(jīng)沒有了.
    3.a自增過后,b被賦予運算過后的a,也就是6了.
    4.因為逗號表達式(括號中多個逗號的就是逗號表達式,一般最后計算)的值總是取括號中的最后一個,所以x取b的值,還是6.
    不信可以自己寫程序試試……
    擴展一下,考慮下面這個表達式:
    int x,a,b,c;
    x = (a = 5, b=a++,c=++a,456,789);
    //肯定先從括號中開始算起.
    //a剛開始等于5
    //b=a++,++運算在后,先算后加,先把a的5給b,然后把a加1,此時b為5,a為6
    //c=++a,++運算在前,先加后算,因為上一個式子a已經(jīng)是6了,所以a再加1,變成7,再給c,此時a為7,c也為7.
    //最后才算逗號,x肯定是取后面一個的值,也就是789.
    //所以最后x=789,a=7,b=5,c=7
    因為不知道你是學C,還是C++的,這兩個式子,具體編程輸出方法我就不寫了.
    我來回答
    類似推薦
    請使用1024x768 IE6.0或更高版本瀏覽器瀏覽本站點,以保證最佳閱讀效果。本頁提供作業(yè)小助手,一起搜作業(yè)以及作業(yè)好幫手最新版!
    版權所有 CopyRight © 2012-2024 作業(yè)小助手 All Rights Reserved. 手機版