作者共发了6篇帖子。 内容转换:不转换▼
 
点击 回复
475 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)
 

本帖信息

点击数:475 回复数:7
评论数: ?
作者:巨大八爪鱼
最后回复:JosephHeinrich
最后回复时间:2015-11-13 07:26
 
©2010-2024 Arslanbar Ver2.0
除非另有声明,本站采用知识共享署名-相同方式共享 3.0 Unported许可协议进行许可。