1樓:匿名使用者
b=(a++)+a(++);
應該是b=(a++)+(a++);把?
a ==12 b==20 ,
b=(a++)+(a++) 等價於 b=a+a; a++;a++;
懂了吧? a++是先運算後++ 如果 改成 b=(++a)+(++a); 結果 b==24,a==12
2樓:匿名使用者
a++=11,(a++)=12, a=12 b=20
int a=10, b;b=(a++)+a(++);輸出a, b的結果?為什麼?
3樓:
b=(a++)+a(++);
改為:b=(a++)+(a++);
不同的編譯系統結果不同,在vc++下,結果為a=12
b=20
4樓:匿名使用者
你的語句有錯:b=(a++)+a(++);應該是b=(a++)+(a++);
輸出結果a=12,因為a再次自增;
b=20,因為a++的++是字尾運算,所以對於當前語句中的b=(a++)+(a++)執行時,a都作為10計算
5樓:悟曉曼聞盼
b=(a++)+a(++);
應該是b=(a++)+(a++);把?
a==12
b==20
,b=(a++)+(a++)
等價於b=a+a;
a++;a++;
懂了吧?
a++是先運算後++
如果改成
b=(++a)+(++a);
結果b==24,a==12
以下程式的輸出結果是 main() { int a=21,b=11; printf("%d\n",- -a+b,- -b+a); } 求解,萬分感謝
6樓:匿名使用者
輸出結果:30
原理:1.c語言的執行順序大多都是自右向左(但是少數c語言編譯軟體內的輸出結容果為31,它的執行順序是自左向右,這裡以vc++ 6.0為例說明輸出30的原因)。
2.先執行--b+a,根據運算順序知道相當於(--b)+a,b先自減,即b=10,此表示式--b+a的值為31.
3.然後執行- -a+b,相當於(--a)+b,a先自減,即a=20,此表示式- -a+b的值20+10=30。
4.printf("%d\n",- -a+b,- -b+a); 輸出第一個表示式的值,(printf函式輸出順序是自左向右)。
7樓:匿名使用者
printf 為什麼引數裡bai只有一個%d ??後面卻有兩du個變數??
如果zhi
是printf("%d\n%d",- -a+b,- -b+a)的話dao輸出應該是
3031
系統先執行了 --b+a的,版所以--b+a=31;
然後權再執行 --a+b,那時候b已經被減1了,所以--a+b=30。
8樓:
先生bai 為什麼引數列表有兩個du
而你的佔位符
zhi只有一個dao %d
如果你手誤的話那麼有兩個專佔屬位符 答案是 3031
9樓:樂樂等待花開
- -a+b即為(--a)先計算得20,然後接著計算(--a)+b為20+11+31;
--b+a即為(--b)先計算得10,然後接著計算(--b)+a為10+20=30;
10樓:匿名使用者
錯誤,沒有結果,warning: operation on 『a』,'b' may be undefined
設int a=7,b=8,則printf(「%d,%d\n",(a+b,a),(b,a+b))的輸出結果是什麼?
11樓:angelxf_功夫王
(a+b,a)這裡涉及到逗號運算子的先後順序,他是從右到左計算,在這個式子裡,先將a的值返回給printf的%d,然後再計算a+b的值,對於第二逗號運算同理,將a+b的只返回給了printf,所以得到的結果是7,15
希望幫你解決了問題
12樓:關於你哦
(a+b,a)這個語句等價與(a),即以逗號後的表示式為準。
所以輸出結果應該是 7、15
13樓:匿名使用者
7,15
(a+b,a)是逗號表示式,取後面的
int a=10; int b=20; int c = a+b++; 輸出結果為什麼c=30
14樓:匿名使用者
b++表示先用b=20進行運算,b參與完運算再自增。所以c=a+b++;結果是30,但是b卻變成了40。
如果是++b則表示b先自增,然後再參與運算。所以c=a+ ++b;執行後就是50了
15樓:gta小雞
字尾++有滯後性,先執行c=a+b,然後執行b=b+1。
16樓:孤獨
b++是先使用,然後再加1
15.寫出下面程式的執行結果_____ #include
17樓:匿名使用者
15.輸出表列有三項,格式控制字元只有一項,對應表示式a=a+1=2,所以輸出2
1.a= b+ c 所以表示式值為非零,為真,執行printf ("###\n");
2. 自增運算子字尾,所以先引用,後自增,m為2,m>2為假,然後m自增一值為3,執行else部分,m+2=5
7.注意是x=2 ,是=,賦值號,也就是x被賦值為2,表示式非零,為真執行y= y+2;
8.i為10,所以到case 10部分i+=1;i值為11,然而,後無break;所以繼續下去case 11部分的內容,以此類推
9.自減運算子字尾,先引用,後自增,當n為0時,迴圈才結束,但別忘了還有個自減,所以n退出迴圈時值為-1
10.與上同理,n==2時才退出迴圈,但是還有自增,所以退出迴圈式n值為3
18樓:cz翡翠情緣
推薦你學習譚浩強的《c語言程式設計》!
(希望能幫助到你)
在C語言中,int a b 10是錯的。int a
是直接定義,但是int a b 10,裡面只定義了a為整型,而b還未定義就直接賦值。如果幫到您的話,可以好評嗎?謝謝了!c語言,為什麼int a 10 int b 20 這是對的,而int a a 10 in b 20 就不對?include stdio.h void main c語言中的int a...
c語言 輸入正整數a,b,c,輸出a b的小數形式,保留小數
include int main include 最大的精度 define max length 120 計算商 int getfactor int a,int b 計算餘數 int getremainder int a,int b 是否整除 bool isaliquot int a,int b r...
急急急已知 a方 b方10,ab 3,求a b的值
兩個問題分別回答如下 1 這個問題比較典型,採用整體法思想。已知a 2 b 2 10,ab 3.這裡a 2 b 2和ab分別看成整體。所以 a b 2 a 2 2ab b 2 10 6 16兩邊開方,得 a b 4 2 這個問題考查了配方的知識以及實數平方的範圍。因為 x 2 6x 4y 2 4y ...