c++, 'avg = sum/5' 给了我垃圾值但是写 avg = sum/2 给出了作品,我不知道为什么
c++, 'avg = sum/5' gives me junk values but writing avg = sum/2 gives works and i don't know why
我正在尝试用 C++ 创建一个简单的程序。它计算用户输入的 5 个数字的平均值,但是当我 运行 它时它一直给我一个垃圾值。我花了 30 多分钟来解决这个问题,试图修复它,但我似乎无法弄清楚。
#include <iostream>
int main() {
std::cout << "hello this my program" << '\n';
int sum, avg;
int numbOne{ }, numbTwo{ }, numbThree{ }, numbFour{ }, numbFive{ };
std::cout << "enter your first number: ";
std::cin >> numbOne;
std::cout << "enter your second number: ";
std::cin >> numbTwo;
std::cout << "enter your third number: ";
std::cin >> numbThree;
std::cout << "enter your fourth number: ";
std::cin >> numbFour;
std::cout << "enter your fifth number:";
std::cin >> numbFive;
sum = numbOne+numbTwo+numbThree+numbFour+numbFive;
avg = sum/5;
std::cout << "the average is: " << avg << '\n;';
}
这是在控制台中打印的内容。
hello this my program
enter your first number: 1
enter your second number: 2
enter your third number: 3
enter your fourth number: 4
enter your fifth number:5
the average is: 32619
这就是为什么:'\n;'
我确定你是想放双引号.. 或者如果你使用单引号,'\n'
后跟 ';'
..
所以应该是:"\n";
或'\n';
正如评论中所指出的,您应该启用 -Wall
和 -Wextra
等编译器警告。他们会帮你看问题-Wmultichar
我正在尝试用 C++ 创建一个简单的程序。它计算用户输入的 5 个数字的平均值,但是当我 运行 它时它一直给我一个垃圾值。我花了 30 多分钟来解决这个问题,试图修复它,但我似乎无法弄清楚。
#include <iostream>
int main() {
std::cout << "hello this my program" << '\n';
int sum, avg;
int numbOne{ }, numbTwo{ }, numbThree{ }, numbFour{ }, numbFive{ };
std::cout << "enter your first number: ";
std::cin >> numbOne;
std::cout << "enter your second number: ";
std::cin >> numbTwo;
std::cout << "enter your third number: ";
std::cin >> numbThree;
std::cout << "enter your fourth number: ";
std::cin >> numbFour;
std::cout << "enter your fifth number:";
std::cin >> numbFive;
sum = numbOne+numbTwo+numbThree+numbFour+numbFive;
avg = sum/5;
std::cout << "the average is: " << avg << '\n;';
}
这是在控制台中打印的内容。
hello this my program
enter your first number: 1
enter your second number: 2
enter your third number: 3
enter your fourth number: 4
enter your fifth number:5
the average is: 32619
这就是为什么:'\n;'
我确定你是想放双引号.. 或者如果你使用单引号,'\n'
后跟 ';'
..
所以应该是:"\n";
或'\n';
正如评论中所指出的,您应该启用 -Wall
和 -Wextra
等编译器警告。他们会帮你看问题-Wmultichar