求程序的输出结果 main() {int a,b; for(a=1,b=1;a<=10;a++) { if(b%3==1) {b+=3; continue;} b-=5;}}
6个回答
展开全部
最终 b=31.
循环开始,a 初值1,b 初值 1。
循环控制变量是 a,共循环 10 次。
第一次循环 b=1; b%3 得 1, if(b%3==1) 条件成立,做 b+=3, b 变 4 ,continue 则跳到下次循环开始,不执行 b-=5;
第二次循环 b=4; b%3 得 1,做 b+=3, b 变 7, continue 则跳到下次循环开始,
由于每次循环 b%3 == 1 条件都成立,所以 b 每次加3
循环 10 次, b 加3 共 10 次。
最终 b 为 1 + 3 * 10 得 31
循环开始,a 初值1,b 初值 1。
循环控制变量是 a,共循环 10 次。
第一次循环 b=1; b%3 得 1, if(b%3==1) 条件成立,做 b+=3, b 变 4 ,continue 则跳到下次循环开始,不执行 b-=5;
第二次循环 b=4; b%3 得 1,做 b+=3, b 变 7, continue 则跳到下次循环开始,
由于每次循环 b%3 == 1 条件都成立,所以 b 每次加3
循环 10 次, b 加3 共 10 次。
最终 b 为 1 + 3 * 10 得 31
展开全部
个人认为这个程序考察的应该是continue和break的区别。
就按照你这个程序来说,最终在屏幕上不会有任何显示结果,但是程序中的两个变量a 以及b是发生了变化,你的这个程序b -= 5这个语句压根就不会执行的啊,因为你b 的初始值为1 正好满足
b %3 == 1,而满足这个条件之后,b采取的操作都是 b += 3,然后执行continue,即跳出此次循环,执行下一次循环,(这和break不一样,break是直接取消循环的执行)。最终,b += 3执行了十次,即b最终的值是 31, 而a的值是 11
就按照你这个程序来说,最终在屏幕上不会有任何显示结果,但是程序中的两个变量a 以及b是发生了变化,你的这个程序b -= 5这个语句压根就不会执行的啊,因为你b 的初始值为1 正好满足
b %3 == 1,而满足这个条件之后,b采取的操作都是 b += 3,然后执行continue,即跳出此次循环,执行下一次循环,(这和break不一样,break是直接取消循环的执行)。最终,b += 3执行了十次,即b最终的值是 31, 而a的值是 11
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a的值为11,b的值为31
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
加个输出语句:printf("b=%d",b);
输出结果:b=31
输出结果:b=31
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<studio.h>
int main()
{
inta,b=9;
while(a=b-1)
{
b-=3;
if(b%5==0)
{
a++;
continue;
}
else if(b<5)
break;
a++;
}
printf ("%d,%d\n",a,b);
return 0;
}
求详解
int main()
{
inta,b=9;
while(a=b-1)
{
b-=3;
if(b%5==0)
{
a++;
continue;
}
else if(b<5)
break;
a++;
}
printf ("%d,%d\n",a,b);
return 0;
}
求详解
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询