求详解关于C语言的

(21)有以下程序
   #include<stdio.h>.

   main()
   {int y=10;
  while(y--);
   printf(”Y=%d\n”,y);
   }
  程序执行后的输出结果是( )
   A)y=0   B)y= -1   C)y=1   D)while构成无限循环

A
你可以试着在编译器中运行一下,当y=1时
while(y--) 中y的条件就变成了(0)跳过while语句。追问

当y=1时
while(y--) 中y的条件不是应该:y--=y=1,只是Y自减1啊,这时Y=0,然后y--再运行一次,y--=0,y自减1;此时y=-1,因为y--等于0,所以程序结束,所以最后输出结果为-1,您说呢???

追答

怪事,重新试了一下,B,改正,

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-02-03
不同的编译器答案会不同的追问

本题在VC6.0环境下,您倒是说说怎么做?、?

追答

选A ++或者--都是在下一次循环体现的,所以即使你当前为0,也要下一次循环通过while来判断

第2个回答  2012-02-03
B啊
相似回答
大家正在搜