c++ for 的问题
来源:百度知道 编辑:UC知道 时间:2024/06/05 06:05:46
int i = 100;
for( int i = 0; i < 2 ; i++);
cout << i << endl;
为什么i=100?
for( int i = 0; i < 2 ; i++);
cout << i << endl;
为什么i=100?
在VC下通不过编译,i重复定义.
应该是你的编译器认为第二个i是一个for循环内的局部变量,跳出循环后该变量不再存在。第一个i与第二个i没有任何关系。
for( int i = 0; i < 2 ; i++);
这句后面不用加分号
或者你可以这么写
for( int i = 0; i < 2 ; i++)
{
cout << i << endl;
}
打印出的i是0和1,不是100.你的for循环中的变量和外部变量名相同,外部变量被隐藏,所以显示的是0和1.
for( int i = 0; i < 2 ; i++);
你这个加了个";"分号
打印的是外部变量
去掉就是 0 1 了
for( int i = 0; i < 2 ; i++);
这一句后面的;的字体格式有问题,将其改为与前面一样的,另外i重复定义了,结果即为i=2,
而for语句里int i=0定义的i只在for语句块中有效。出了for语句,i就是第一句定义的i=100了。