m0_73673015 2023-03-21 10:32 采纳率: 100%
浏览 21
已结题

关于c++中for循环i值结束循环后无法再次使用的问题

我开一个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的值也不会是终止值。

  • 写回答

5条回答 默认 最新

  • 快乐鹦鹉 2023-03-21 10:38
    关注

    这个问题是VC6和.NET的一个区别。在VC6中,for循环定义的int i,在循环结束后还是可以访问的,作用域是整个函数。但在.NET中,for循环定义的int i,其作用域只在循环体内,所以循环结束后,无法访问这个i,就出现未定义错误。因此需要先定义i,然后才能再循环结束后,用i来作为一些判断条件。
    即使我在for循环外面提前定义了i,后面if判断时i的值也不会是终止值。---- 这不可能啊

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 3月29日
  • 已采纳回答 3月21日
  • 创建了问题 3月21日

悬赏问题

  • ¥50 关于#html5#的问题:H5页面用户手机返回的时候跳转到指定页面例如(语言-javascript)
  • ¥15 无法使用此凭据登录,因为你的域不可用,如何解决?(标签-Windows)
  • ¥15 yolov9的训练时间
  • ¥15 二叉树遍历没有报错但无法正常运行
  • ¥15 在linux系统下vscode运行robocup3d上场球员报错
  • ¥15 Python语言实验
  • ¥15 SAP HANA SQL 增加合计行
  • ¥20 用C#语言解决一个英文打字练习器,有偿
  • ¥15 srs-sip外部服务 webrtc支持H265格式
  • ¥15 在使用abaqus软件中,继承到assembly里的surfaces怎么使用python批量调动