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語言問題。double 在輸入 輸出時,要使用 lf 格式符。scanf lf lf f1,f2 include int main else for i lower i upper 2 i 2 return... p a sizeof a sizeof int 1 這句把陣列a最後一個元素的地址賦給指標p 然後利用迴圈讓指標p不斷地前移,每前移一次把對應的陣列元素值加一 最後指標p移動到陣列a的前一個位置,所以 p 1 就是陣列的第一個元素,並且加過1的.所以 p 1 就是 11 1 12.以上是程式的總體思... prid32是個什麼?而且你的雙引號得加轉義符吧?去掉prid32前後的雙引號,另外prid32是否有定義?你的這個軟體支援c99或者c11嘛 就像vc6.0版本太老就不支援c99 看看軟體支不支援 沒有巨集定義,在標頭檔案下面加 define prid32 d c語言問題!因為s是一個指向floa...C語言的問題,C語言問題。。。
C語言的問題,C語言的問題
c語言問題,C語言問題!