頁:
[1]
幫幫我做這題
新手有點不會假設x,y,z的初始值都為1,預測下列運算式的值
z = ++x-y++;
z = z + x++ + ++y;
如何撰寫程式??
好有 ++x 跟 x++ 差在哪裡可以跟我說一下嗎
書寫的不太清楚
謝謝各位大大<div></div> 好難喔..我離開學校已經很久了...看不懂... ++放在前後會出現傳值跟運算的先後差別 z = ++x-y++;
z = z + x++ + ++y;
++x 他會先把x+1
x++是先讀x再+1
所以說第一題 z = ++x-y++;
會變成 z= 2-1
做完之後 x和y都是2, z=1
第二題 z = z + x++ + ++y;
假設是從上題繼續做下來 x=2,y=2,z=1,
z= 2 + 2 + 3 =7
此時 x=3,y=3,z=7
大概是這樣子 z = ++x-y++;你就用唸的,z等於1加x減去y再減1=(1+x)-y-1
z = z + x++ + ++y;一樣,z等於z加x再加1再加1加y z=(z+x)+1+(y+1)<br><br><br><br><br><div></div> 喔喔
原來我觀念也錯了
真是非常感謝 z = (((++x)-y)--); <----------因為-(y++)=>-(y+1)=>(-y)-1=>(-y)--
z = ((z + x)++) + (++y);
++在前面 加先做 所以(++x)
++在後面 變數會先被拿去做運算 所以(對x的運算結果)++
不過寫程式的時候,除非有特殊要求,不然盡量不要這樣做,
因為這是非常沒有可讀性的撰寫方式,且在不同語言,不同編譯器,結果也可能不一樣
頁:
[1]