已采納回答 / menghuanbaolei
有時候 :1 = true ?,?0 = false<...圖片...>a = 11 ; ?所以 a > 3 ?那么,返回true ,可這里是運算,所以 a =1?<...圖片...>當 a < 3 的時候,返回false,那么 a = 0
2015-10-17
已采納回答 / onemoo
第三個 else if 中判斷表達式你寫的是?5000>score>=1000,這無法完成區(qū)間判斷的功能,此表達式永遠為 false。你可以查看一下運算符的優(yōu)先級,> 和 >= 優(yōu)先級相同,且左結合,故C語言是這樣解釋這個表達式的:(5000 > score) >= 1000也就是會先算 5000 > score,結果肯定是true。于是表達式后面的部分就變成了true與1000做比較。為了能和1000這個整型做比較,true也會被轉換為整型,這樣true就被轉換...
2015-10-17
已采納回答 / 世界和平ad
?if(year%4==0&&year%100!=0||year%400==0); //這一行錯了...應該改成:if((year%4 == 0 && year%100 != 0) || year%400 == 0);注意if判斷平年的條件( (能被4整除同時不被100整除的數) 或者 能被400整除的數)
2015-10-17
已采納回答 / qq_忙碌_不可奈何_0
for(i=0;i<10;i++)? ? {? ? ? ? if(i != 9) ??? ? ? ? ? ? printf("%.2f, ", arr[i]); ?//%.2f表示小數點后精確到兩位 ? ??? ? ? ? else? ? ? ? ? ? printf("%.2f", arr[i]); ? ?//%.2f表示小數點后精確到兩位? ? }如果是前0-8位數后面要加逗號,第9位后面沒有逗號,所以單獨一句。
2015-10-16
已采納回答 / onemoo
這個代碼中有很多不正確或不規(guī)范的地方。你在定義s1數組時指定了數組大小為4,但卻用一個超過4個元素的列表去初始化它。在編譯時會有警告的。單引號用來表示單個字符,應該括起單個字符。 不過C也確實允許括起多個字符,這特性叫multi-character,然而C標準對多個字符在內存中如何存儲沒有規(guī)定。gcc在小端機器上好象是把最后一個字符放到低地址位上,這樣一來用 'ab' 給數組元素初始化時,數組中的元素得到的是 'b' 這個字符。所以數組得到的前4個字符為 b c e f,后面有留空,這空白在printf中...
2015-10-15
講師回答 / PengCheng
內存中存放的數都是補碼。查查補碼的定義吧。這里拿32位來看在32位的系統(tǒng),int類型最大值正數為2147483647 換算為 補碼就是 0111,1111,1111,1111這時如果再加1? 那二進制就是? 1000,0000,0000,0000,第一位是符號位 1代表負數,也就是加1后溢出的結果 -2147483648。如果不斷的再加1 總會變成正數,然后就能滿足那幾個邏輯判斷的任意一個條件了。你在最后面加9 實際上就是每次在前面增加了 9*10n2?? 9乘以10 的N次方,碰巧就符合你說的鉆石、普通...
2015-10-15