c语言static

这题为什么选b,我知道static变量的值不随函数退出而改变,但是这个for循环每次执行都重新声明x呢?

这个题如果一定是B的答案的话,说明:一,for循环只是实现了S连续累加了5次x;二,fun函数则实现了x从2至6的逐次增加。也就是说,static声明的变量只在首次产生了作用,以后有了这个变量,这句就跳过了?我记不得是不是了,需要查一下才能确认。
经网上查证如下:静态变量(Static Variable)在计算机编程领域指在程序执行前系统就为之静态分配(也即在运行时中不再改变分配情况)存储空间的一类变量。所以下边的就不可能了。
如果不是这样,那么每次声明了变量之后,再累加了个1,x实际就变成了2。所以应该选A。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-10-12
你既然知道不会因为退出而改变。虽然重新声明,但是它还是不会因为重新声明而被清零。追问

老哥你算一下再说好吧~_~

追答

循环5次
1,s+=2,s=3
2,s+=3,s=6
3,s+=4,s=10
4,s+=5,s=15
5,s+=6,s=21

相似回答
大家正在搜