问题描述
- for循环中定义的变量 在程序的其他地方无法使用
-
RT
code
运行环境:win7 dev c++# include <stdio.h> # include <stdlib.h> # include <windows.h> int main () { for(int i = 1;i<=100;i++) { printf("%d ",i); } printf("%d ",i); return 0; }
程序会报错关于i的值的问题
[Error] name lookup of 'i' changed for ISO 'for' scoping [-fpermissive]
Note
英语渣 用百度翻译出一堆看出懂的东西
[Error] lookup name of'i'改变 为 ISO'for'scoping [-fpermissive]
[Note] ( 如果 你 使用'-fpermissive'G++ 将 接受 你 的 代码 )
乱七八糟的 好像是在for循环中定义的变量i在printf里面不能使用 是这样吗?
我在for循环外面又定义了一次变量i 结果就可以在printf里面使用了.
解决方案
变量的作用域问题,一般以{}为界
解决方案二:
for循环内变量定义问题
Struts2 标签定义变量及for循环
Struts2 标签定义变量及for循环
解决方案三:
变量i是在for循环中定义的,作用域在for循环以内。
解决方案四:
变量定义的范围问题,你在for里定义,只在for中有效,到了printf时,变量已经无效了。
时间: 2024-09-20 17:22:51