怎么记住c语言中的何时用if(a==0)何时用if(a=0)?老忘记用a==0,谁能总结一下

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么记住c语言中的何时用if(a==0)何时用if(a=0)?老忘记用a==0,谁能总结一下相关的知识,希望对你有一定的参考价值。

参考技术A if(a==0)是简单的逻辑判断, a如果是0,括号里的值就为真,否则为假.
if(a=0)这是可以分成2步:
第一步 a=0;//让a等于0
第二步 if(a)//判断真假,当然这里肯定为假.
说白了 一个=是赋值, 两个=是比较.
当然这里你举的例子不太好理解.如果是下面:
函数定义 int func();
何时用if(a==func())何时用if(a=func())?
假如 a初始值为0, func()返回值为3
那么if(a==func())即 if(0==3),结果为假
而if(a=func())即a=3,然后if(3),结果就为真了.
希望你多看2遍,肯定能理解.
希望对你有帮助.追问

非常谢谢!!我看懂了。。。。

参考技术B == 是逻辑运算符, a == 0 逻辑预算的结果是: 当 a的值为零是其结果是 true, 否则是 false

= 是算数运算符, a=0 的意思是将 0 赋值给变量a, a=0 执行后 a 的值为零。一般不会用 if(a=0), 因为 if(a=0) 总是 false 的, 因为 c 语音中 0 代表 false, 非零代表 true.追问

谢谢你的详解,我有了认识。。。。

本回答被提问者采纳
参考技术C if (a==0) 是说当a的值为0时条件为真;
if (a=0) 相当于 a=0; if (a) 是先把0赋值给a,然后用a作为条件进行判断,因为a的值为0,所以条件永远为假追问

谢谢!!

参考技术D a=0是赋值,把0赋给a
a==0是逻辑判断

Mysql中if是怎么用的?

SELECT SUM(c.goods_number * IF(g.give_integral > -1, g.give_integral, c.goods_price))
FROM `lhzx`.`ecs_cart` AS c, `lhzx`.`ecs_goods` AS g
WHERE c.goods_id = g.goods_id
AND c.session_id = 'e8fbe2f68cd89886cab9ba02a7624b90'
AND c.goods_id =978
AND c.parent_id = 0
AND c.rec_type = 0
AND c.is_gift = 0
有这样一个sql语句,我不明白那个if是怎么判断的,求解答!

看你语句里面的IF函数例子:
IF(g.give_integral > -1, g.give_integral, c.goods_price)
这个函数的结果要根据g.give_integral的值,如果g.give_integral大于-1函数值就是g.give_integral,否则函数值就是c.goods_price。
参考技术A if只能用于select后吗?

以上是关于怎么记住c语言中的何时用if(a==0)何时用if(a=0)?老忘记用a==0,谁能总结一下的主要内容,如果未能解决你的问题,请参考以下文章

C语言的不等于,大于,大于等于怎样表达

用linq做数组取并集

c语言的if函数,能否有大佬能解释一下用法?

怎样用C语言编出在n个数里找最大值的程序?

c语言if语句多个条件怎么写?

在c语言中,将一个数插入一个数组中的程序怎么写?