for循环里定义的变量,到for之外还能使用?

时间:2008-05-14 10:37:13   来源:论坛整理  作者:  编辑:chinaitzhe
为什么下述程序可以在vc6.0(精简绿色版)中正常编译运行,有点晕了……
#include <iostream>
using namespace std;
int main()
{
int first( 0 );
int last( 10 );
for ( int x = first; x != last; x )
{
cout < < x < < ',';
}
cout < < x < < endl;
return 0;
}
/*
*result:
*1,2,3,4,5,6,7,8,9,10
*/
网友回复:result:0,1,2,3,4,5,6,7,8,9,10
网友回复:一般来说不能的,你记住并且自己写程序时不要这样就行了。
网友回复:要养成好习惯 , 不要这样用
网友回复:根据新的编译器的提示,在以前的C 标准里面是可以的,但新的C 标准不行。VC6基本上与C 98标准同时推出。所以可以,但新的标准不行。   如我的编译器出现的提示为: error: name lookup of `x' changed for new ISO `for' scoping
网友回复:ok,拜谢各位达人!
关键字:循环,定义,变量,之外,使用,
上一篇:关于C语言

文章评论

共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面