下列程序运行后,a的值是多少
main () { int a,b; for(a=1,b=1;a<=100;a++) { if (b>=20) break; if (b % 3==1) { b+=3; continue; } b-=5; } } 选择 a=7 b=8 c=9 d=10 a的值是多少????? 我不会分析过程,请网友帮我分析?????谢谢!!!!
[此贴子已经被忆楠于2004-07-09 12:30:11编辑过]
下列程序运行后,a的值是多少
main () { int a,b; for(a=1,b=1;a<=100;a++) { if (b>=20) break; if (b % 3==1) { b+=3; continue; } b-=5; } } 选择 a=7 b=8 c=9 d=10 a的值是多少????? 我不会分析过程,请网友帮我分析?????谢谢!!!!
[此贴子已经被忆楠于2004-07-09 12:30:11编辑过]
#include <stdio.h> void main () { int a,b; for(a=1,b=1;a<=100;a++) //此处a=1后面应该是逗号,不应该是分号; { if(b>=20) break; if(b%3==1) { b+=3; continue; } b-=5; } }
首先建议你养成良好的书写格式习惯,不管是在论坛还是在编辑器上, 你的循环好像和b根本就没有关系,所以你的答案一个都不正确。 执行程序后,任何结果都没有,不信你可以试一下。
for(a=1,b=1;a<=100;a++)/*这里a=7,b=19*/
if(b%3==1) { b+=3; continue; } /*这里a=7,b=22*/
for(a=1,b=1;a<=100;a++)/*这里a=8,b=22执行break;跳出循环*/
答案是b
当a=7时b=22
跳出循环a+1
所以a=8
我机执行是没有结果的,但老师在分析循环时,A的值是8
日后请多指教!!!!
[此贴子已经被作者于2004-06-26 10:07:55编辑过]
你当然没有结果啊,你没有输出啊!你把程序加个输出就可以看结果了啊.
main () { int a,b; for(a=1; b=1;a<=100;a++) -----你这有个小错误,a=1和b=1之间应该用','不是用分号 { if (b>=20) break; if (b % 3==1) { b+=3; continue; } b-=5; }
printf("%d,%d",a,b);--------------加上输出
}
你说正确,应该用','不是用分号
加上输出就看到结果。