作者共發了6篇帖子。 內容轉換:不轉換▼
 
點擊 回復
470 7
今天下午上C語言課的時候,老師把上次程序小測試的批改結果發下來了
一派護法 十九級
1樓 發表于:2015-11-12 21:03
這是同桌的:



這是我的:
一派護法 十九級
2樓 發表于:2015-11-12 21:06
其中if (counter>=5)這條語句被扣了1分。老師說,這條語句雖然對程序運行沒有任何影響,但是我這裡邏輯有問題,因為按理說這裡counter是永遠不可能大於5的,因此只需要寫counter==5就行了。
一派護法 十九級
3樓 發表于:2015-11-12 21:10
但是這是我這麼多年寫程序的基本習慣,把==5寫成>=5主要是為了容錯,意思就是說counter只要出現了大於5的值就強制歸零并換行。而不至於因為前面的程序有bug,出現了counter>5的情況卻未及時換行清零導致不可預料的結果,甚至出錯死機,這種情況在單片機程序中就比較容易出現,比如外界環境干擾就有可能使程序跑飛。
不過這裡只是一個很簡單的C語言小程序,而且是在計算機上執行的,所以寫>=完全沒必要。。。。。出錯的概率幾乎為0
一派護法 十九級
4樓 發表于:2015-11-12 21:11
雖然我這麼多年的編程習慣是把計數器清零的條件==n寫成>=n,但是在考試中我還是得要注意這是一個扣分點。
一派護法 十九級
5樓 發表于:2015-11-12 21:21
還有就是,VC6中的float類型的變量,賦值的時候要在數字後面加f,比如:float a = 4.3f,否則就會出現警告。但是課本中卻沒有加f,老師之前也以為加了f肯定是錯的,編譯會出錯。所以考試時,還是不要加f,避免被扣分。
一派護法 十九級
6樓 發表于:2015-11-12 21:23
第二題中的while那個左大括號我忘了換行,不過這沒有什麼。因為C語言並沒有強制規定所有的大括號必須單獨占一行,只是習慣上寫C程序的時候大括號單獨占一行。

回復帖子

內容:
用戶名: 您目前是匿名發表
驗證碼:
(快捷鍵:Ctrl+Enter)
 

本帖信息

點擊數:470 回複數:7
評論數: ?
作者:巨大八爪鱼
最後回復:JosephHeinrich
最後回復時間:2015-11-13 07:26
 
©2010-2024 Arslanbar Ver2.0
除非另有聲明,本站採用創用CC姓名標示-相同方式分享 3.0 Unported許可協議進行許可。