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