明显有错
temp tempf,两个变量
指针的真假只能说明,这个指针是否有指向。里面的数值,并不能用于判断。
指针指向的地址为0,标明这个指针指向这个0地方,是有指向的。
如果想判断指针里面的内容,就要加*号了。
注意区分,条件的判断是判断的指针是否有指向,(也就是是否为NULL),和判断指针里面的内容的。
int *p; if(p) printf("有指向\n"); else printf("无指向\n"); return 0;
这个为什么输出有指向
@ithan: 额,你不知道声明的变量都是有默认值的吗?(你这样是编程中的大忌啊,会容易导致程序崩溃的。)你随便声明一个任何类型的变量,如果没有赋初值的话,里面的内容是原先内存中的01代码的东西。
@ithan: http://www.cnblogs.com/zi-xing/p/4528093.html 看看我写的这个东西吧
@千紫小星: 指针的真假可以量化吗?比如用一个数值表示出来
@ithan:
int *p=NULL; if(p) { printf("我是真的的。我指向某个地方"); } else { printf("我是NULL的,没有任何指向"); }
输出的是第二句话。用数值量化指针,你为什么不直接声明一个int类型的。你那样做违背了指针的含义。
@千紫小星: 如果无法量化,那么怎么判断一个指针是否有指向,用if...else...已经不行了
@ithan: 怎么不行,我上面的不就判断了。看来你连if的真假都不明白是怎么回事。
@ithan: 我想问你,什么是真?什么是假?
@千紫小星: 我想想
不用指针一样可以判断真假。何必纠结