#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,不理解为什么得出这个结果。
第1个回答 2011-08-19
i%3是取余的意思 代码的意思是当i/3 != 0是执行if语句否则执行if以为的语句
第2个回答 2011-08-19
if(i%3!=0)//即i不是3的倍数追问
有!=0这个含义在里面么?
追答非零即真。
其实就是if(i%3!=0)
我算一下啊,可能笨一点:i=1 i=2这些时候都是直接加一不计算s,那i=3时s=3;i=6时s=9;i=9时s=18,然后就没了,不是22啊。我运行过答案就是22。
第3个回答 2011-08-19
i能被3整除那么不执行,反过来就执行
第4个回答 2011-08-19
!= 表示不等于
i%3即取模运算,即求i除以3的余数
i%3即取模运算,即求i除以3的余数
第5个回答 2018-09-05
等价于if(i%3!=0)才对