永发信息网

if(i%7)和if(i%7!=0)有什么区别啊谢谢了!

答案:5  悬赏:0  手机版
解决时间 2021-04-02 01:13
  • 提问者网友:伴风望海
  • 2021-04-01 00:32
if(i%7)和if(i%7!=0)有什么区别啊谢谢了!
最佳答案
  • 五星知识达人网友:蕴藏春秋
  • 2021-04-01 01:24
同样的功能只是表达式的类型不同,if(表达式)先对表达式求解,若表达式的值为零,按假处理,若为非0则按真处理.

i%7!=0是关系表达式,其值是个逻辑值,在C语言中以1代表\"真\",以0代表\"假\";而i%7是算术表达式,其值是个数值量,在TC中判断一个量时0代表\"假\",非零代表\"真\".

if(表达式)中的表达式还可以任意的数值类型如字符型(ASCⅡ码),指针型数据等,一般为逻辑表达式或关系表达式.
全部回答
  • 1楼网友:怀裏藏嬌
  • 2021-04-01 03:53
逻辑作用一样
  • 2楼网友:玩世
  • 2021-04-01 03:43
if(i%7)是条件为真,既是i%7=0条件为真。
i%7!=0既是不为0条件为真。
  • 3楼网友:逐風
  • 2021-04-01 03:19
一般逻辑运算中数字可以当成是布尔值来看待,0等价于false,非零=true
if(i%7) 和if(i%7!=0) 结果是一样的,即i不能被7整除时条件就成立
  • 4楼网友:西风乍起
  • 2021-04-01 02:15
你可以这样想
i是一个数假设是 10 那么前一个
if (i%7) 这里把 i 和 7 求余 假设的i为10那么求出来余数为非0则为真所以
if (i%7)
{
......
}
如果 i 为10 那么执行了中间部分
下面一个
if (i%7!=0)这个先求余然后判断是否为0,其实这里作用是一样的,因为 10 和 7 求余得到非0那么就不为0那么也是真,所以也执行了判断语句里面的部分.看下面一个
i = 7 的时候
if (i%7) 这个时候 7 和 7 求余得到的是0即为FALSE(非0为TRUE,0为FALSE)那么就不会执行判断内部为TRUE的部分.当然有可能有ELSE

if (i%7!=0) 这个判断前面已经说了得到的是0,然后把得到的数和 0 值做判断 他判断的是 != 即 0 != 0 这个当然是假(FALSE)所以还是不会执行其中的部分,所以这里两个判断语句作用是一样的!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯