一小段C程設 - 電腦

Olivia avatar
By Olivia
at 2015-05-13T00:00

Table of Contents

#includeintmain(){intnum1=123;intnum2=456;intnum3=789;if(num3>num2>num1)printf("yes");elseprintf("no");return0;}想請問為何最後輸出為"NO"?但如果If條件式中只有兩變數比較就會printf:yes。。謝謝...Showmore
Tags: 電腦

All Comments

Bennie avatar
By Bennie
at 2015-05-17T15:28
板大可以在程式當中加入printf("%d\n",num3>num2);printf("%d\n",num3num2>num1是由左到右執行num3>num2的執行結果是true也就是1接著電腦會拿num3>num2的結果(也就是1)與num1做比較所以1>num1的結果為false也就是0所以最後會輸出no2015-05-1414:58:26補充:@_@true這個關鍵字的值本來就是1>這個運算子的傳回
Andy avatar
By Andy
at 2015-05-17T05:45
我記得DennisRichie有跟我說過為了避免有人寫((a==b)==(c==d))而產生困擾他提議了:==1false==0我還沒看過編譯器的實做設定不是1的過2015-05-1507:07:50補充:我想UFO誤會我的意思.我是說所有的邏輯操作員==!=>>=...等等都會保證回{0,1}連!0都是一樣只有醬,才可以保證(a>b)==(c>d)的正確所以:if(a==b)++c;也有人寫成c+=
Olive avatar
By Olive
at 2015-05-17T03:22
1.這程式碼最後的輸出結果不一定是"no",事實上會依據編譯器的實做而可能會是"yes"。雖說大部分的編譯器幾乎都會執行為"no"的結果,但我們仍稱這個結果為"不可預期的"。2.你這樣寫,編譯器都沒有抱怨一下嗎?2015-05-1301:55:28補充:不要教壞小朋友!num3>num2的執行結果是true,

Cree跟Ultrafire這兩個廠牌

Sierra Rose avatar
By Sierra Rose
at 2015-05-13T00:00
Cree跟Ultrafire這兩個廠牌的手電筒都長得好像是有合作關係嗎

顯示卡裝了之後不能使用

Hedda avatar
By Hedda
at 2015-05-12T00:00
小弟我最近買了張顯示卡,裝上去後可以正常開機,但是銀幕跑不出來,還會固定一段時間發出一聲and#34;嗶and#34;然後� ...

電腦規格升級

George avatar
By George
at 2015-05-11T00:00
因為在用3dsMax2014的時候,當我開始(Renderproduction)模擬真實場景的時候,有進度條出現,我沒有放很多物件!!所以想 ...

GTAV電腦配備

Ina avatar
By Ina
at 2015-05-11T00:00
這是去年剛換的電腦但是我不清楚配備完全是工程師配的B85M-HD3這是主機板我不知道主機板裡面有沒有包括甚麼但� ...

電腦組裝相關疑問(CPU、APU、顯示卡、螢幕、ATX)

Robert avatar
By Robert
at 2015-05-10T00:00
最近想要裝一台新電腦,遇到以下問題,1.想請問A8-5600/A10-7700的內顯分別大概是哪張獨顯的等級?2.假如我使用低階 ...