我开一个for循环,在它里面定义i,用完了循环之后,下一个语句i无法继承循环终止时i的值使用。如:
for(int i=0;i<=k;i++)
if(m%i==0)break;//这里m前面定义过了
if(i>k)
cout<<m<<endl;
就好比这里,在我的cod sever里面会报错i未定义;
即使我在for循环外面提前定义了i,后面if判断时i的值也不会是终止值。
关于c++中for循环i值结束循环后无法再次使用的问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
5条回答 默认 最新
快乐鹦鹉 2023-03-21 10:38关注这个问题是VC6和.NET的一个区别。在VC6中,for循环定义的int i,在循环结束后还是可以访问的,作用域是整个函数。但在.NET中,for循环定义的int i,其作用域只在循环体内,所以循环结束后,无法访问这个i,就出现未定义错误。因此需要先定义i,然后才能再循环结束后,用i来作为一些判断条件。
即使我在for循环外面提前定义了i,后面if判断时i的值也不会是终止值。---- 这不可能啊本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报 编辑记录解决 1无用