搜索

这是怎么回事? 编的 我觉得没问题啊

查看数: 2001 | 评论数: 9 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2013-4-8 22:33

正文摘要:

怎么   7的倍数和  带7的尾数都打出来了?

回复

psposx 发表于 2013-4-14 05:37:45
首先,你要先理解什么叫"或",或的意思就是:全0出0,有1出1,也就是必须同时为假表达式才为假,否则为真;
像87,97 这类数就不能同时满足两个表达都为假的条件,所以就跑出来啰!
一辈子的鱼 发表于 2013-4-10 11:19:14
bobiscool 发表于 2013-4-9 23:38
不是  是  或者

那就只有77这个数才满足条件吧,它既是7的倍数个位又是7,两个条件都不满足,所以进不了循环,不被打印。用||意思是只要满足一个条件就会被打印出来。
rosynirvana 发表于 2013-4-10 00:56:06
bobiscool 发表于 2013-4-9 23:38
97%10!=7  ????????????

逻辑或里面只要有一个成立,整个式子就为真了
97%10 != 7为假,然后判断下一个条件
97 % 7 != 0为真,所以整个式子为真,所以打印
bobiscool 发表于 2013-4-9 23:38:59
一辈子的鱼 发表于 2013-4-9 13:08
int main()
{
        int a = 1;

不是  是  或者
bobiscool 发表于 2013-4-9 23:38:33
rosynirvana 发表于 2013-4-8 22:53
因为97 % 7 != 0
所以就打印出来了

97%10!=7  ????????????
一辈子的鱼 发表于 2013-4-9 13:08:42
int main()
{
        int a = 1;
         while(a<=100)
        {
                if(a%10!=7&&a%7!=0)
                        printf("%d\n",a);
                a++;
        }
你是要打印100以内的不是7的倍数且个位不是7的所有整数吧,那两个判断条件之间应该用&&。
rosynirvana 发表于 2013-4-8 22:53:05
bobiscool 发表于 2013-4-8 22:49
对啊 我就是让它们   打出来  结果  97  还有什么 14都出来了

因为97 % 7 != 0
所以就打印出来了
bobiscool 发表于 2013-4-8 22:49:10
rosynirvana 发表于 2013-4-8 22:39
a%10 != 7 || a % 7 != 0
a的末尾不是7,或者a不是7的倍数

对啊 我就是让它们   打出来  结果  97  还有什么 14都出来了
rosynirvana 发表于 2013-4-8 22:39:40
a%10 != 7 || a % 7 != 0
a的末尾不是7,或者a不是7的倍数
快速回复 返回顶部 返回列表