关于c++全局变量和for循环中局部变量的问题?

我定义了一个全局变量a和几个局部变量,为什么最后输出的a不是8而是for语句结束后的11,for循环结束后局部变量难道不会在内存中释放吗?... 我定义了一个全局变量a和几个局部变量,为什么最后输出的a不是8而是for语句结束后的11,for循环结束后局部变量难道不会在内存中释放吗? 展开
 我来答
GTA小鸡
高粉答主

2019-10-31 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2.6万
采纳率:78%
帮助的人:1.3亿
展开全部
哪里有所谓的全局变量?整个程序只有两个局部变量a1和a2,其中6~9行的语句块内的a是a2,其他位置的a是a1。
更多追问追答
追问
for语句会重新定义变量吗
追答
你这样写,才是在for语句块内定义一个新的变量a
for(int a=0; a<=10; a++)
而这样写,使用的是main函数开头就定义的那个局部变量a。
for(a=0; a<=10; a++)
cdyzxy
2019-12-23 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.4万
采纳率:84%
帮助的人:3621万
展开全部
因为你在循环中a=0给a赋值将8冲掉了,局部变量是释放了的,可以在for前面加cout<<a<<endl;观察一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式