C语言tips不完全汇总

来源:互联网 发布:淘宝手机优惠券微信群 编辑:程序博客网 时间:2024/06/05 06:51

以下内容是在学校学习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这个数字,这个现象也叫浮点数陷阱。

关于浮点数的一些知识:

http://bbs.chinaunix.net/thread-3746530-1-1.html




0 0
原创粉丝点击