int型,double型,和指针型变量 与0比较时的区别

1.先定义三个变量
int flag;
double num;
void*p; (空类型指针)

2.

–int 型变量
if( flag ==0);

-****-double 型变量**
if((num>=-EPSINON)&&(num<=EPSINON);**

(EPSINON是允许的误差范围,即精度。不能直接与0.0比较,因为与0相差一定精度的浮点数都可以当作0值,也就是说这时0的范围是(-EPSINON, EPSINON))

–指针型变量
if(p==NULL);

(指针变量的0值是 空 记为NULL表示这个指针哪也不指。尽管NULL的值在宏定义中与0相同,但是用NULL可以强调这个变量是指针类型的,而不会误认为是int型的)

3.

小结
不同变量类型与0比较,只要清楚不同变量对应的0是什么就可以了。
比如int和double型的0的不同,int型就是0,而double型则是一个范围,然后就是指针型了,指针型的0也是0,但是为了与int型变量区分开,我们用NULL来代表指针型变量里的0)

部分内容来自 《脑洞大开c语言另类攻略》

猜你喜欢

转载自blog.csdn.net/weixin_51676760/article/details/109696292
今日推荐