c語言的問題設,c語言的 問題, 設int a 1,b 2,c,d,e

2021-04-24 09:12:54 字數 2983 閱讀 4370

1樓:

++在前是先+後用,++在後先用後+;--類同;

c=(-a++)+(++b);轉換為

++b;                //b = 3;

c = (-a)+b;     //c = 2;

a++;               //a = 2;

d=(b--)+(++a)-a;  轉換為++a;                //a = 3;

d = b+a-a;        //d = 3;

b--;                    //b = 2;

e=(a/(++b))-(a/(--a));//此時從左至右,(a/++b) = (a/(b+1)) = 3/(2+1)=1;

//(a/(--a))=(a/(a-1))=(3/(3-1))=3/2 = 1;定義的是int型是整數所以捨去餘數,等於1;前式-後式 = 1- 1 =0;

2樓:就愛養魚

c=(-a++)+(++b); a計算再自加1,b先+1用於計算故:

c=(-a++)+(++b); 和c=(-a)+(b+1);a+=1;b+=1;在結果相同

經過:c=(-a)+(b+1);a+=1;b+=1;,c=2,a=2,b=3

d=(b--)+(++a)-a;中,a先自加再計算,b先計算再自加

d=(b--)+(++a)-a;和d=b+(a+1)-(a+1);a+=1;b-=1;結果相同

d=b+(a+1)-(a+1);a+=1;b-=1;後a=3,b=2,d=3

同理e=(a/(++b))-(a/(--a));結果和:e=((a-1)/(b+1))-((a-1)/(a-1));a +=1;b +=1;結果相同

所以結果是:2,3,2,3,0

純筆算,未程式驗證

3樓:匿名使用者

vs用的編譯器下的答案是c,d,e == 2,3,-1. a,b=2,3

舉個例子,前二個吧

c=(-a++)+(++b); // c=(-1)+(2); a=2;b=3

d=(b--)+(++a)-a //d=(2)+(3)-2; a=3;b=2;

……編譯器不同答案是不相同的,vs的編譯器是從右往左計算的,所以就是上述答案

4樓:

第一步:計算a++得a=2,計算++b得b=3,最後計算c,c=(-1)+(3)=2

第二步:計算b--得b=2,計算++a得a=3,最後計算d,d=(3)+(3)-3=3

第三步:計算++b得b=3,計算--a得a=2,最後計算e,e=(3/3)-(3/2)=1-1=0

故最終得到的結果為:a=2 b=3 c=2 d=3 e=0

5樓:匿名使用者

e=-1

a=3;b=2;c=2;d=3

-a++=-1; ++b=3;(a++表現的值不變-a=-1;++b=加一);

b--=2;++a=3;(b--表現的值不變,)下面的 都是類推;

6樓:匿名使用者

a = 2, b= 3,c=2,d=3,e=0 執行一下就知道了,看一下運算子優先順序

一道c語言的題?設int a=1,b=2,c=3,d=4;則表示式a++

7樓:匿名使用者

剛剛錯了!

自右往左:

先算a++=2

2,2為真取值為a,為假取值為(c就是假,取(c

然後就是c

8樓:

上式相當於a++括號裡面的,明顯c=3,d=4,所以c顯為真且a++,則a=1,故最終結果的值為1。

以上僅供參考

9樓:匿名使用者

最好去自己程式設計除錯就ok了,除錯的每步都可以檢視每個變數的結果

c語言中 int a=1,b=2,c=3,d=4,則表示式a++

10樓:匿名使用者

三目運算抄 ?:

相當於襲

if ( a++

du a=2

else 這後面的不

zhi用考慮dao了

if (c

return (--a);

else

return (--d);

11樓:匿名使用者

a++本身等於a

所以a++

此時a=2

12樓:匿名使用者

a++是先取a的值參與運算,運算後再加a的值加1

所以a++

c語言題 int a=1,b=2,c=3,d=4,e=5; k=a>b?c:d>e?d:e;求k

13樓:我二次元穿越

k=5k=a>b?c:d>e?d:e;

是說,a>b是否為真,真的話就執行,把c的值賦給k如果a然後跳到下面看d>e是否為真,如果真的話就執行,把d的值賦給k如果d>e為假的話,剩下的就執行e了,把e的值賦k,所以k=5

c語言,若有定義:int a=1,b=2,c=3;則語句++a||++b&&++c;執行後b的值為

14樓:

優先順序 ++ > && > ||

可以看成++a || (++b && ++c),因為++a已經==2 > 0 因此,後面不再計算。

即a = 2, b= 2 ,c =3

C語言的問題,C語言問題。。。

呵呵,除了第三題,其他都不容易。有空的編吧,我看著 如果你真正掌握了c語言,其實也不是很難 c語言問題。double 在輸入 輸出時,要使用 lf 格式符。scanf lf lf f1,f2 include int main else for i lower i upper 2 i 2 return...

C語言的問題,C語言的問題

p a sizeof a sizeof int 1 這句把陣列a最後一個元素的地址賦給指標p 然後利用迴圈讓指標p不斷地前移,每前移一次把對應的陣列元素值加一 最後指標p移動到陣列a的前一個位置,所以 p 1 就是陣列的第一個元素,並且加過1的.所以 p 1 就是 11 1 12.以上是程式的總體思...

c語言問題,C語言問題!

prid32是個什麼?而且你的雙引號得加轉義符吧?去掉prid32前後的雙引號,另外prid32是否有定義?你的這個軟體支援c99或者c11嘛 就像vc6.0版本太老就不支援c99 看看軟體支不支援 沒有巨集定義,在標頭檔案下面加 define prid32 d c語言問題!因為s是一個指向floa...