请高手帮我解决一下这道题,谢谢!
有以下程序main(){intx=0,y=0,i;for(i=1;;++i){if(i%2==0){x++;continue;}if(i%5==0){y++;bresk;...
有以下程序
main( )
{
int x=0,y=0,i;
for(i=1;;++i)
{
if(i%2==0) {x++;continue;}
if(i%5==0) {y++;bresk;} }
printf("%d,%d",x,y);}
程序的输出结果为( )
A 2,1 B 2,2 C 2,5 D 5,2
请简略的说一下过程,谢谢!! 展开
main( )
{
int x=0,y=0,i;
for(i=1;;++i)
{
if(i%2==0) {x++;continue;}
if(i%5==0) {y++;bresk;} }
printf("%d,%d",x,y);}
程序的输出结果为( )
A 2,1 B 2,2 C 2,5 D 5,2
请简略的说一下过程,谢谢!! 展开
4个回答
展开全部
首先,main是程序入口,C语言一般的编译器都是找main来开始程序的,你的for()种第3项是++i,也就是说在走到if的时候,i的值比传进去的时候大1,这个程序解释起来的话,就是循环的i++,当i能被2整除的时候,x就加1,当i能被5整除的时候,y就加1,然后跳出循环了,所以说,当i=5的时候,for跳出来,程序结束。这个时候,y=1,x=2,因为i曾经等于过2和4,x++过两次。
最后的printf就是把当前的x,y值打出来。
最后的答案是A,说了这么多,这下明白了吧?
采纳我的答案吧......顺便做个任务,呵呵...
最后的printf就是把当前的x,y值打出来。
最后的答案是A,说了这么多,这下明白了吧?
采纳我的答案吧......顺便做个任务,呵呵...
展开全部
a
%是模运算。即是余数。i%2就是i除以2的余数。如此你该会自己算了吧。同时break你写错了。
%是模运算。即是余数。i%2就是i除以2的余数。如此你该会自己算了吧。同时break你写错了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2010-07-29
展开全部
B
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
A
当i=1时,x不变,y不变
当i=2时,x+1,循环从头再来
当i=3时,x不变,y不变
当i=4时,x+1,循环从头再来
当i=5时,x不变,y+1,循环跳出
x=2,y=1
当i=1时,x不变,y不变
当i=2时,x+1,循环从头再来
当i=3时,x不变,y不变
当i=4时,x+1,循环从头再来
当i=5时,x不变,y+1,循环跳出
x=2,y=1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询