崩溃:运行结果里哪来的256,见鬼;救命!
#include "stdio.h"main()
{
int i=2;
while(i<256)
printf("%d\n",i=square(i));
}
square(x)
int x;
{
return(x*x);
}
----------------解决方案--------------------------------------------------------
犯了些小错误哦.
#include "stdio.h"
int square(int x)
{
return(x*x);
}
main()
{
int i=2;
while(i<256)
{
printf("%d\n",square(i));
i++;
}
}
----------------解决方案--------------------------------------------------------
不知道,你是不是想要这种结果?
----------------解决方案--------------------------------------------------------
你把我的程序改的面目全非啦
理解错误?
是不是运行结果受while(i<256)限制?我问的是运行结果里为什么有256呢!
----------------解决方案--------------------------------------------------------
因为当 i==16的时候 符合条件(i<256)
所以输出了i*i,也就是256啊 (就是说16*16等于256)
----------------解决方案--------------------------------------------------------
printf("%d\n",i=square(i));那执行到这里的时候,仍然是把square(i)的值赋给i,这个时候不执行i<256吗?
----------------解决方案--------------------------------------------------------
i==16执行完printf("%d\n",i=square(i));以后,已经在屏幕上显示了256
然后才执行了while判断,此时 条件为假,结束了while循环体
----------------解决方案--------------------------------------------------------
模模糊糊算理解啦!谢谢7楼
----------------解决方案--------------------------------------------------------
哦,不好意思,没明白你的原意,
呵呵,,,
楼上说的对啊...
----------------解决方案--------------------------------------------------------
#include "stdio.h"
main()
{
int i=2;
while(i<256)
printf("%d\n",i=square(i));
}
你的程序等价于这个
----------------解决方案--------------------------------------------------------