C++ Primer(第5版) 练习 2.14 练习 2.14 下面的程序合法吗?如果合法,它将输出什么? int i = 100, sum = 0; for(int i = 0; i != 10; ++i) sum += i; std::cout<<i<<" "<<sum<<std::endl; 环境:Linux Ubuntu(云服务器) 工具:vim 解释 输出100 45,第一个变量i的作用域是这段代码块,for循环内的变量i的作用域是循环体内,因此,输出第一个i的值是在循环体外的i值,sum的值是通过循环体不断相加得到的i值。 运行结果显示如下