没关系,大家都在讨论嘛,只要不是复制,发的时间先后没有关系的.
倚天照海花无数,流水高山心自知。
那前辈能不能帮我解答下~~
以下程序输出结果是:
#include<stdio.h>
main()
{int i,b,k=0;
for(i=1,i<=5;i++)
{b=i%2;
while(b-->=0) k++;
}
printf("%d,%d",k,b);
}
答案是8,-2,为什么?
我是这么理解的:while(b-->=0)就是说b的值要>0,b=i%2才会被执行,而我觉得既然1<=i<5,那么b的值就永远不可能为负,这应该变成死循环了,不知道我错哪里?
那我再问一道题目
以下程序输出结果是:
#include<stdio.h>
main()
{int i,b,k=0;
for(i=1,i<=5;i++)
{b=i%2;
while(b-->=0) k++;
}
printf("%d,%d",k,b);
}
答案是8,-2,为什么?
我是这么理解的:while(b-->=0)就是说b的值要>0,b=i%2才会被执行,而我觉得既然1<=i<5,那么b的值就永远不可能为负,这应该变成死循环了,不知道我错哪里?