提问:请问c语言中的这段代码,最后的程序输出34是怎么来的
网友回答:
程序中有两个变量x,一个是静态变量x,定义后(static int x=30;)在程序中始终有效;另一个是局部变量x,定义后一次有效。
1、程序的第一次输出,是静态变量x的值:30。
2、程序的第二次输出,是定义(int x=77;)后的局部变量x的值:77(仅定义后一次有效)。
3、程序的第三次输出,是静态变量x的值:30。
4、while循环的执行过程:对于循环条件(x++<33),是先判断,后x加1(x=31,作为下一次判断用);
① x=30,小于33成立,第1次执行循环体,输出局部变量x的值101;
②第2次判断循环条件(x++<33), x=31,小于33成立(此后x加1,x=32),第2次执行循环体,输出局部变量x的值101;
③第3次判断循环条件(x++<33), x=32,小于33成立(此后x加1,x=33),第3次执行循环体,输出局部变量x的值101;
④第4次判断循环条件(x++<33), x=33,小于33不再成立,while循环结束。此后x加1,x=34。
5、程序的最后一次输出正是静态变量x的值:34。