c++, 'avg = sum/5' 给了我垃圾值,但写 avg = sum/2 给出了工作,我不知道为什么

sca*_*ama 2 c++ average sum

我正在尝试用 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;';
}
Run Code Online (Sandbox Code Playgroud)

这是在控制台中打印的内容。

#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;';
}
Run Code Online (Sandbox Code Playgroud)

Bra*_*don 7

这就是为什么:'\n;' 我确定你想放双引号 .. 或者如果你使用单引号,'\n'然后是';'..

所以它应该是:"\n";'\n';

正如评论中指出的那样,您应该启用编译器警告,例如-Wall-Wextra。他们会帮助你看到问题-Wmultichar