c语言中,if(i%3)的意思

#include<stdio.h>voidmain(){inti=0,s=0;do{if(i%3){i++;continue;}i++;s+=i;}while(i<11)... #include<stdio.h>
void main()
{
int i=0,s=0;
do
{
if(i%3){i++;continue;}
i++;
s+=i;
}
while(i<11);
printf("%d\n",s);

}
答案是22,不理解为什么得出这个结果。
展开
 我来答
热点那些事儿
高粉答主

2020-11-19 · 关注我不会让你失望
知道大有可为答主
回答量:8668
采纳率:100%
帮助的人:203万
展开全部

i%3是if语句的判断条件,在i等于0的时候执行i++,此时i=1,s+=i,s等于1

因为i<11,所以继续版循环体,i不是3的整数倍的时权候就执行{i++;continue;}

总而言之,在i等于0,3,6,9的时候执行i++;s+=i

也就是s=1+4+7+10,也就是结果说的s=22

扩展资料:

数据类型关键字

short:修饰int,短整型数据,可省略被修饰的int。

long:修饰int,长整型数据,可省略被修饰的int。

long long:修饰int,超长整型数据,可省略被修饰的int。

signed:修饰整型数据,有符号数据类型。

unsigned:修饰整型数据,无符号数据类型。

restrict:用于限定和约束指针,并表明指针是访问一个数据对象的初始且唯一的方式。

吉祥二进制
高粉答主

推荐于2017-09-11 · 科技改变生活,生活改变科技。
吉祥二进制
采纳数:33926 获赞数:84576

向TA提问 私信TA
展开全部
  if(i%3)

       等价于

  if (i%3==0)

  用于判断i是否被3整除。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wyr0408
推荐于2017-09-16 · TA获得超过482个赞
知道小有建树答主
回答量:228
采纳率:0%
帮助的人:96.3万
展开全部
i%3是if语句的判断条件,在i等于0的时候执行i++,此时i=1,s+=i,s等于1
因为i<11,所以继续循环体,i不是3的整数倍的时候就执行{i++;continue;}

总而言之,在i等于0,3,6,9的时候执行i++;s+=i
也就是s=1+4+7+10,也就是结果说的s=22
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
木芽锺
2011-08-19 · TA获得超过503个赞
知道小有建树答主
回答量:99
采纳率:100%
帮助的人:113万
展开全部
if(i%3)的意思是“假如i不能被3整除”。
i%3会有三种结果:0、1、2;if(i%3)相当于if(i%3==1||i%3==2);
C语言中,用非零数表示“真”。
追问
那能否帮忙解释一下怎么得出22的。我觉得得数是18.。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhtlinux
2011-08-19 · TA获得超过135个赞
知道小有建树答主
回答量:96
采纳率:0%
帮助的人:66.9万
展开全部
利用if判断i除以3的余数是否为零,为零不执行if语句,不为零执行if语句
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(10)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式