这行c程序怎么回事,求大佬指教

 我来答
abcabc20040411
2018-01-01 · TA获得超过207个赞
知道小有建树答主
回答量:158
采纳率:90%
帮助的人:30.8万
展开全部
if(真或假) 如果是真,执行; else 如果是假,执行;
括号内的内容也可以是数字,非零为真,零为假。
continue是跳过当前循环的剩下内容,直接下一次循环
i%2是i除以2的余数
i%3是i除以3的余数
||是或运算:每个数的二进制位中有1的结果相应的二进制位就是1,在这里的(i%2||i%3)等同于(i%2!=0||i%3!=0)。
有程序验证:
#include<stdio.h>
int i;
int main()
{
for(i=-100;i<=100;i++)
if(i%2!=0||i%3!=0)
if(i%2||i%3)
printf("a");//都满足
else printf("b");//满足第一个不满足第二个
else
if(i%2||i%3)
printf("b");//满足第二个不满足第一个
else printf("c");//都不满足
return 0;
}
输出如下:
aaaacaaaaacaaaaacaaaaacaaaaacaaaaacaaaaacaaaaacaaaaacaaaaacaaaaacaaaaacaaaaacaaa
aacaaaaacaaaaacaaaaacaaaaacaaaaacaaaaacaaaaacaaaaacaaaaacaaaaacaaaaacaaaaacaaaaa
caaaaacaaaaacaaaaacaaaaacaaaaacaaaaacaaaa
显然没有"b"
所以(i%2||i%3)等同于(i%2!=0||i%3!=0)是正确的。
(i%2||i%3)就是“i除以2的余数和i除以3的余数都不等于0”是否成立,成立返回真,不成立返回假。(也可以从程序输出中看出)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式