分类: C/C++
2009-08-14 12:39:27
下列程序合法吗?
int sum = 0;
for (int i = 0; i != 10; ++i)
sum += i;
std::cout << "Sum from 0 to " << i
<< " is " << sum << std::endl;
【解答】
不合法。因为变量i 具有语句作用域,只能在for 语句中使用,输出语句中
使用i 属非法。
下列程序段将会输出什么?
int i = 100, sum = 0;
for (int i = 0; i != 10; ++i)
sum += i;
std::cout << i << " " << sum << std::endl;
【解答】
输出为:
100 45
for 语句中定义的变量i,其作用域仅限于for 语句内部。输出的i 值是for 语
句之前所定义的变量i 的值。
可以参考C++书籍!