1樓:匿名使用者
這個表示式是從右向左進行解釋 :
1) a = a + 1 // 由於 a++ ,此時 a 的值為 2
2) a = 2 + 1 // 將 a=2 賦入所以整個表示式的值為 3
2樓:占山柳
++的優先順序要大於+,比如,a=1,則a=1+1++,線算1++=2,在1+2=3.
所以,a=3.
3樓:匿名使用者
賦值語句優先順序最低,先算字首,後算字尾
上面的式子可以用括號 a=(a)+(a++)a=1+1 =2
a++(--) 先去a的值 然後自增(減)++(--)a先自增(減) 然後取值
4樓:匿名使用者
a=a+a++;
根據c語言裡的符號優先順序,
應該分解為
a=a+a;
a++;
所以,a就從1變成了3;
5樓:1紫雲夢
可以這樣理解,從右向左理解該表示式,1.a=a+1;2.a=a+(a+1);
6樓:匿名使用者
呵呵,想法是很好的,不過不要糾結於這個問題,與你使用的編譯器有關係,設計者早早地就已經想好這個問題,像gcc之類的都給會你選項的。
7樓:潛川小生
運算自左向右
a = (a) + (a+1) = 1 + (1 + 1)=3
a+=a-=a=a*a是什麼意思,求c語言大神解釋一下
8樓:
實際上是賦值復合運算。
a是初始賦值,但是也是變數
從右往左做賦值運算
a(被賦值)=a*a(初始值)
a(再次被賦值)=a(初始值)-a(上一賦值)a(最後被賦值)=a(初始值)+a(上一賦值)
9樓:
復合運算子吧,
a+=a是a=a+a的簡化;同理a-=a等於是a=a-a;
原式運算順序為
a=a*a;
a=a-a;
a=a+a;
結果為0?
10樓:黃理
這僅僅是運算子的優先順序問題,這題沒有必須去討論,當然,答案還是可以告訴你的,運算從右到左,答案為0。
沒有人會這樣寫**的。
11樓:匿名使用者
a=a*a
a-=a a=a*a-a*a
a+=a a=a*a-a*a+a*a-a*aa+=a-=a=a*a
a=a*a-a*a+a*a-a*a
a=0;
12樓:超哥文化人
從右至左,
a=a*a
a=a-a(此a是上一行結果)
a=a+a(此a是上一行結果)
int a=2;a+=a-=-a*a++; a為多少?謝謝
13樓:
int a=2;
a+=a-=-a*a++;
相當於int a=2;
a+=a-=-a*a;
a++;
好了,我們來算a+=a-=-a*a;
他又相當於:
a-=-a*a;
a+=a;
又相當於:
a=a-(-a*a);
a=a+a;
再結合之前的a++;
整個a+=a-=-a*a++;
就相當於:
a=a-(-a*a);//a原來值為2,運算完之後 a=2-(-2*2)=6
a=a+a;//a的值已經變成6,運算完之後 a=6+6=12;
a++;//a變成12,再自增1,所以運算完之後 a=13所以最後a的值是13
14樓:匿名使用者
見誰這麼寫**你就拿大嘴巴使勁抽他,抽到他知道拆語句和加括號為止。
15樓:
先拆開表示式為 a = a+(a=(a-(-(a*a)++))=a+(a=7)=7+7=14
1、a=(a-(-(a*a)++))=(2-(-4++))=2-(-5)=7
2、a=a+a=7+7=14;
c語言中a+=(a<1)?a:1什麼意思
16樓:匿名使用者
先執行後面一部bai分,du在執行+=
即:先判斷(a<1)是zhi否成立
dao1.成立 a += a ,即a = a+a;
2.不成立 a+=1 即 a = a+1;
這個式內子主要考察運算子優容
先級的問題,可以去複習一下運算子的優先順序,以後這種問題就不難了,祝你進步。
17樓:匿名使用者
主要是區分
來操作符的優先順序自,這題的陷阱在bai於一不小心就把「du+=」符合操作符理解zhi為a=a+...這種理解說錯誤dao的,很容易讓人混淆。
條件操作符"?:"、符合操作「+=」和括號()的優先順序有大到小是:
"()" ->" ? :" -> "+=",所以,這式子,首先是判斷a<1? 如果a<1 則返回a與a進行+=,也就是a+a;
如果a>=1,則返回1與a進行+=,也就是a+1
18樓:匿名使用者
後面是條件表示式 , 看a是自加 還是加1 a<1就+a a>1的話就加1
如a為5 則a+=1
a=0 a+=a
19樓:匿名使用者
a=a+a或a=a+1
主要看a和1的關係。
20樓:歷竹時棋
(a<1)?a:1的意思是:判斷
baia和1的大小,當dua<1時
a取值為zhia,也就是a=a,當a>=1時a=1.
a+=*表示dao的意內思是a=a+*;
a+=(a<1)?a:1
所以上表示式表容示的意思是
當a<1時
a=a+a;
當a>=1時a=a+1;
21樓:成夏真招剛
(a<1)?a:1的意思是:判斷
a和1的大小,當a<1時
a取值為a,也內就是a=a,當a>=1時a=1.
a+=*表示的意思是a=a+*;
a+=(a<1)?a:1
所以上表達容式表示的意思是
當a<1時
a=a+a;
當a>=1時a=a+1;
j**a中a++和a- - ,++a 和- -a 有什麼區別?
22樓:明明
假設a=1,b=1; int c =a++;--》可以看成是int c=a;a=a+1;所以a=2; int d =++b;--》可以看成是b=b+1=2;int d=b=2;就是這樣的 你要了解那個i++跟++i這個,++如果在前面,則會先自加,然後賦值給其他變數,如果是在後邊,則先把自己的值賦給其他變數,然後自己加1。這就是區別了。--跟++用法一樣。
int a=1 ;(a++)*(++a)的值是多少?怎麼算
23樓:匿名使用者
int a=1 ;(a++)*(++a)的值是抄3
(a++):a先參與運算後,a的值再自增1
(++a):a先自增1後再參與運算
(a++)*(++a):a的初始值=1,(a++)a= 1參與運算,a的值自增1後等於2
(++a)a的值自增1後等於3,再參與運算
所以(a++)*(++a) = 1*3 = 3
(a++)*(a++)= 1*2=2; //(a++)a= 1參與運算,a的值自增1後等於2
//(a++)a= 2參與運算,a的值自增1後等於3
(++a)*(a++)=2*2=4; //(++a)a的值自增1後等於2,再參與運算
//(a++)a= 2參與運算,a的值自增1後等於3
(++a)*(++a)=2*3=6; //(++a)a的值自增1後等於2,再參與運算
//(++a)a的值自增1後等於3,再參與運算
24樓:斬天及
bai首先++i是「先」
自增、「
後」du執行;zhii++是「先」執行、「後」自dao增;
這裡所謂版的「先」、「後」,對權於不同的程式語言意義不同——在c語言中所謂的「先」「後」是相對於一條完整的語句而言的。也就是說,在c語言中,++i是在整條語句執行之前「先」自增,「後」執行整條語句;而i++是「先」執行完整條語句、「後」自增。
明白了這個問題,再來看你的問題:
1、先看前面的「(a++)」,是需要等執行完整條語句,也就是直到遇到後面的分號才將a的值增加1;
2、再看後面的(++a),是需要在整條語句執行之前,也就是上乙個語句「int a=1;」之後就直接把a的值加1,而不是等執行了*前面的半條語句「(a++)」後才自增。
注意理解:「先」、「後」是相當於一條完整的c語句而言的,而不是以那個乘號為準的!
明白了這個道理,那麼(a++)*(a++)就是1,(++a)*(a++)或(a++)*(++a)就是4,(++a)*(++a)就是9,
25樓:聽不清啊
(a++)*(++a)的值是1*3=3
如何理解*(*&a[i]+j)
26樓:匿名使用者
假設陣列為du a[2][3] = , };
i=0, j=1;
則*(*&a[i]+j),zhi *&a[i], *&操作dao互相抵消, 所以*&a[i]就相當於a[i], 當i=0時, 也就是
內0的位址容, (a[i]+ j), 當i=0, j=1,時, (a[i]+ j)就是
a[0][1]的位址, 於是*(a[i]+ j)就是取內容了, 也就是a[0][1]
a
27樓:
? : 好像是唯一的三目運算子,判斷?前是否為真以決定返回值為 : 左邊或右邊的值,如下:
a < b 嗎 ? 小於的話返回a : 不小於的話返回b用if表示如下:
c = a < b ? a : b;
等價於if (a < b) c = a;
else c = b;
28樓:
如果a
c=a
最後c的值就是2了
a 直線 是什麼意思, a a,a是什麼?
直線兩端都沒有端點,並可以無限延長。直線是不可測量的。幾何學基本概念。從平面解析幾何的角度來看,平面上的直線就是由平面直角座標系中的乙個二元一次方程所表示的圖形。求兩條直線的交點,只需把這兩個二元一次方程聯立求解,當這個聯立方程組無解時,二直線平行 有無窮多解時,二直線重合 只有一解時,二直線相交於...
字母a的筆順,是a,a,a。字母a的筆順是什麼?
字母a的筆順,是a,a,a。字母a的筆順,是a,a,a。字母a的筆順 第一筆左半圓,第二筆豎右彎。第一筆先畫半個圓,第二筆再畫一豎。大多數數印刷品和電腦字型裡面,a 都是雙層的,如果你去看報紙雜誌,你會發現所有斜體的地方 a都是單層寫法,只不過很多電腦字型不遵守這個規則,只是簡單的把正體 a 傾斜一...
a 3是什麼意思,a a a 3 是什麼意思
a a 3 是一種復合的運算子,凡是二目的運算子都可以和賦值運算子放在一起組合成復合的運算子。還有比如 1.a x y a a x y 注意 括號一定要加上 2.a 3 a a 33.a x a a x等等,希望對你有幫助。自加運算 如 a 3 表示a變數增加3,相當於,a a 3 同樣還有 位運算...