if语句中判断条件是否成立的表达式一定是逻辑型的表达式吗,为什么?

如题所述

可以不是,但是最终结果按逻辑值来解
你完全可以这么写
int *p=(int *)malloc(sizeof(int));
if(!p)
{...}
事实上很多程序里也有这样的用法。
p仅仅是一个指针,不是逻辑表达式。这个语句就是判断p的内存分配是否成功了。如果内存分配失败,则p为假,!p为真,就要执行一些善后的语句了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-09-09
任意表达式,只要()里的是非零就要执行if()语句;是零就不执行.
关系表达式成立是1,不成立是0;逻辑表达式成立是1,不成立是0;算术表达式的值是非0就是执行,0就不执行.
第2个回答  2010-03-26
按逻辑值来解

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网