1 个回答
starred
回答于 2024-07-20
已采纳
提问:如何解答这个代码
#include "stdafx.h"int _tmain(int argc, _TCHAR* argv[]){int y=2,a=1;while(y--!=-1)do{a*=y;a++;}while(y--);printf("%d,%d\n",a,y);
网友回答:
你是要结果?结果为
1,-2
也就是a=1,y=-2
解析
首先while(y--!=-1)
初始y=2,它不为-1,所以循环成立,且
y=y-1=1
进入do循环
a*=y; a=a*y=1*1=1
a++; a=a+1=2;
判while(y--);
y=1所以循环成立,且y=y-1=0
重新进入do
a*=y; a=a*y=2*0=0
a++,a=a+1=1
再判判while(y--);
此时y==0,循环退出,且y=y-1=-1
再次进入
while(y--!=-1)循环
因为y==-1,所以循环退出,且y=y-1=-2
所以最终
a=1,y=-2
我来回答
相关问题
1
回答
游戏王卡组推荐
单机游戏
567 浏览