第一题:
main ()
{int x=2;
while(x--);
printf("%d\n",x)}
结果为什么是-1,我求出是1,应该到1时,WHILE里为0了就退出才是啊
X--是表达式啊,当X为2时 X--为1 当X为1时 X--为0 不是就是1么 。。。
第2题:
int K,N,M;
N=10;M=1;K=1;
while (K++<=N)M*=2
printf("%d\n",M)
为什么是1024,我算出来时512,一共只有九项啊。
有人告诉我 要先执行K<=N再执行K++
我也不明白为什么
第一题:
main ()
{int x=2;
while(x--);
printf("%d\n",x)}
这个当然为-1,你想想,当x=1时,就执行打印出1,遇到}x=0,返回到while,此时进入括号部分进行判断,条件不满足,所以跳到}后面,同时x还要去掉1,不就是-1;注意:如果++在后,一定是执行该语句完成后才进行+运算。++在前,是先进行+运算,再进入实体(语句)。
第二题就不用解答了。你还觉得是运行9次?记着第一次k=1,运行了m*=2之后,k才为2;所以应执行10次,2的10次方不就是1024。
你满意否?
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息