我是c ++的新手,我正在尝试编写自己的程序版本,该程序打印从cin读取的未知数量的整数之和。
我涵盖的唯一预处理程序指令是#include <iostream>
#include <iostream>
int main()
{
int numbers;
int sum = 0;
for (int i = 0; i < numbers; i++)
{
std::cin >> i;
sum += i;
}
std::cout << sum << std::endl;
return 0;
}
cl /EHsc /W4 sum_of_set_of_integers.cpp
Microsoft (R) C/C++ Optimizing Compiler Version 19.14.26433 for x86
Copyright (C) Microsoft Corporation. All rights reserved.
sum_of_set_of_integers.cpp
a:\c++ tutorial\michael_dawson\sum_of_set_of_integers.cpp(8) : warning C4700: uninitialized local variable 'numbers' used
Microsoft (R) Incremental Linker Version 14.14.26433.0
Copyright (C) Microsoft Corporation. All rights reserved.
/out:sum_of_set_of_integers.exe
sum_of_set_of_integers.obj
A:\C++ Tutorial\Michael_Dawson>sum_of_set_of_integers
1
1
1
1
1
我无法摆脱困境。如果您可以提出建议,那将对您有很大帮助。
非常感谢。
答案 0 :(得分:4)
这里的潜在问题是,您事先不知道要输入多少个整数,因此您无法使用该for
循环-numbers
没有明智的价值
相反,请继续读取值,直到输入结束:
while (std::cin >> i)
sum += i;
当尝试的读取最终失败时,while
循环将退出。
答案 1 :(得分:0)
编译器提示,请仔细阅读。
a:\c++ tutorial\michael_dawson\sum_of_set_of_integers.cpp(8) : warning C4700: uninitialized local variable 'numbers' used
也请尝试遵循0错误和0警告的原则。
使用while循环继续读取并添加整数,直到输入结束。更新后的代码应如下所示:
int main()
{
int sum = 0;
while (std::cin >> i)
sum += i;
std::cout << sum << std::endl;
return 0;
}