C语言真假判断

9||0
是什么意思啊?
还有8&&7的值为何不为0呢?
9,8,7是其中有一个整数就是真吗? 真的定义是什么?非0就是真?

在C语言中,0值代表假,非0值代表真。

随着语言的发展,引入了bool类型,定义在头文件 stdbool.h中。bool类型有两个值,true代表真值,false代表假值。这两者之间有等价关系,任何能转换为0值的表达式,其结果也是false,反之也成立产。

非0即为真,在程序设计里面会省去很多烦琐的代码。

比如:

malloc函数,不成功会返回NULL(实际上就是0),成功返回所分配的连续单元的首地址。那么在判断malloc()函数是否成功分配了内存,则可以这么写:

int *p = (int *)malloc(sizeof(int) * 10);

if (p)

 TODO...

else

TODO...

扩展资料

1、对于逻辑与运算,如果第一个操作数被判定为“假”,系统不再判定或求解第二操作数。

2、对于逻辑或运算,如果第一个操作数被判定为“真”,系统不再判定或求解第二操作数。


温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-04
朋友,这是一个与和或的问题。
"||"是或的意思,而"&&"是与的意思,相信你应该知道:对于或而言,只要有一个是真,那么这个或的结果就是真;而对于与来讲,必须2个都为真,结果才是真,否则为假。
现在你需要知道,计算机语言中判断真假的准则是:零为假,非零为真!
也就是说"9||0"中的9已经为真,所以"9||0"这个表达式的值为1;同样的,"8&&7"这个表达式的8和7都是真,所以结果也是1.
不知道你明白了没?希望对你有帮助!

对的!非零就是真!至于为什么它返回值是真,结果却每次都是1,而不是其他比如2,3,4。。其实这个也对的,只是别人写的系统函数返回的就是1或0。。。本回答被提问者采纳
第2个回答  推荐于2017-09-12
1、C语言真假判断的语句是if。
2、C语言中if语句的格式为:
if ( 表达式 )
{
do_if_statements;
}
[ else
{
do_else_statements ;
} ] 中括号表示其中的内容可以没有
意思是如果"表达式"的值为真,则执行do_if_statements,如果有else语句,则,当表达式的值为假时,执行do_else_statements。
C中,0表示假,非0表示真
所以,if( m )表示:当m为非0时,执行if下面的语句。也可以写成if ( m!= 0 )
第3个回答  2009-03-20
这是逻辑判断式
9||0就是9或0,只有有一个是"真"(9是真),则返回真,否则返回假
8&&7就是8和7,必须两个都是"真"(8和7都是真),则返回真,否则返回假

非0为真,返回值是别人的函数自己设定的
相似回答