如果把 int name=3; 放到while循环结构的大括号中循环6次。
答案:2 悬赏:80 手机版
解决时间 2021-02-06 01:13
- 提问者网友:鐵馬踏冰河
- 2021-02-05 07:47
如果把 int name=3; 放到while循环结构的大括号中循环6次。
最佳答案
- 五星知识达人网友:舍身薄凉客
- 2021-02-05 08:38
每次循环执行结束之后,在这个循环体内声明的变量生命周期就结束了,对应的内存堆栈也都已经释放,不存在你说的同名变量被多次声明的问题,每次循环都是一个独立的开始追问问个问题可以吗打扰了就是我想问一下 可以把一件事看做一个对象吗
全部回答
- 1楼网友:山君与见山
- 2021-02-05 09:52
变量是有作用域和生命周期的,具体的可以百度作用域或C语言作用域,这里只略讲
一个变量的作用域一般是在它最近的那个大括号内,离开作用域后变量就被销毁了,比如:void function() {
int a;
}
int main() {
function();
int a;
return 0;
}
这里并不会报错,因为在function函数中,变量a的作用域就是function函数,function函数执行完a就被销毁了,所以在main函数中定义变量a并不会出现编译错误。
回到问题:int count = 6;
while(count--) {
int name = 3;
}
这里面name的作用域就是while循环体(值得注意的是,去掉大括号也是一样),那么一次循环结束后,name变量就被销毁了,所以下一次循环的时候,再定义name变量并不会出现错误
我觉得我的解释已经比较清晰了,如果有疑问,欢迎追问,满意请采纳,谢谢
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯