有谁能帮我看看这道C语言题?
main(){inti,n=0;for(i=2;i<5;i++){do{if(i%3)continue;n++;}while(!i);n++;}printf("n=%d\...
main()
{int i,n=0;
for(i=2;i<5;i++)
{do
{if(i%3) continue;
n++;} while(!i);
n++;}
printf("n=%d\n",n)
比较让我纠结的是第六行那个while(!1),在执行一次continue后,i变成了3,但是这是就不变成了while(!3)么?这算什么判定条件啊?接下来该怎么做?还有结果是多少啊?分不多,但是谢谢大家了,帮帮忙啊、 展开
{int i,n=0;
for(i=2;i<5;i++)
{do
{if(i%3) continue;
n++;} while(!i);
n++;}
printf("n=%d\n",n)
比较让我纠结的是第六行那个while(!1),在执行一次continue后,i变成了3,但是这是就不变成了while(!3)么?这算什么判定条件啊?接下来该怎么做?还有结果是多少啊?分不多,但是谢谢大家了,帮帮忙啊、 展开
2个回答
展开全部
非零则一,非一则零,只要不是零都是一,所以!3就是0
能理解吗
while(0)表示不成立条件
程序分析:
能理解吗
while(0)表示不成立条件
程序分析:
追问
那么最后的结果是不是2呢?。。。。求帮助,我想核对一下答案。
追答
/*for第一次循环:i=2;while里if条件成立,则while里的n不加一 ,出while之后n=1
for第二次循环:i=3;while里if不成立,执行n++,n=2;出while之后,n=3
for第三次循环:i=4;while里if成立,出while之后n=4,该次for循环结束之后i++,此时i=5,不满足条件,执行printf
最后输出结果为4*/
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询