1. 程式人生 > >C語言tips不完全彙總

C語言tips不完全彙總

以下內容是在學校學習C語言期間回答同學的疑問而總結的一些tips,因本人水平有限,如有錯誤還請各位指教。

1、

for(int i=0,i<strlen(s);i++)

這段迴圈中每次判斷迴圈條件是否滿足時都要呼叫一次strlen函式,但本身strlens)的值是不變的,所以可以單獨用一個變數來裝它,節省時間。

如:
int temp=strlen(s);
for(i=0;i<temp;i++)


2、

fread與fwrite連續使用時必須在之間用一個fseek,否則其中一個無效,貌似用fflush也行,但是沒試過。

3、

’a’直接表示字元a,“a”表示一個地址,地址指向一個字串a。

4、

char s[20];
s="hello" 

錯誤,必須用strcpy函式。因為s代表是的字元陣列s的首地址,而s="helo" 相當於改變陣列的首地址為字串“hello”的地址,這是不被允許的。

5、

for(double i=0;i!=10;i+=0.1)
該迴圈其實是一個死迴圈,原因是因為浮點數是不準確的,不能準確地表達0.1這個數字,這個現象也叫浮點數陷阱。

關於浮點數的一些知識: