首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

菜鸟,问最后x的值的有关问题。多谢帮忙

2012-05-28 
初学者,问最后x的值的问题。谢谢帮忙问一下#include stdio.hvoid main(){int x30printf(x in outer bl

初学者,问最后x的值的问题。谢谢帮忙
问一下  
#include "stdio.h"
void main()
{
  int x=30;
  printf("x in outer block:%d\n",x);
  {
  int x=77;
  printf("x in inter block:%d\n",x);
  }
  printf("x in inter block:%d\n",x);
  while(x++<33)
  {
  int x=100;
  x++;
  printf("x in while loop: %d\n",x);
  }
  printf("x in inter block:%d\n",x);
  return 0;
}
运行出来后 为什么x=34 而不是33呢 ?

[解决办法]
x=33的时候,x++<33 退出,那么x=34.
[解决办法]
x++返回当前值,执行后x=x+1
while(x++<33)
当x==33时,while条件不满足,跳出,然后x=x+1=34
[解决办法]
while(x++<33)
{
int x=100;
x++;
printf("x in while loop: %d\n",x);
}

从x=32时,32<33为true,进入循环,但执行while判断时,x++<33,x++,此时已经x=33了。
执行完循环体部分,判断下次循环,同样判断x++<33,判断结果是33<33为false,然后结束循环,但由于x++,跳出循环时x=34了。

热点排行