c++ - 在 C++ 中使用 while 循环查找一组数字中的最小值的程序

标签 c++

我是 c++ 的新手,我一直很难理解下面的程序。它看起来很简单,所以它让我觉得我到目前为止在 C++ 中学到的一切都是错误的。

    int number = 0;
    int min = 0; 

cout << "enter (-1) to stop" << endl;
while( number != -1)
{
    cout << "Enter an integer:";

    cin >> number ;
    if (number < min)
        min = number;
}
cout << "your minimum number is: " << min << endl;

我最困惑的是 if 语句。 “min”仅被初始化为等于零,因此整个 if 语句对我来说没有意义。在我看来,程序中没有真正定义“min”的东西。 非常感谢任何贡献。谢谢!

程序运行良好。而且,它确实找到了用户输入的一组数字中的最小值。我只是不明白这是怎么发生的

最佳答案

在循环的每次迭代中,使用 cin 读取一个新的 number。因为 number 是有符号整数,所以它可能小于 min,在这种情况下,if 将通过。奇怪的是 min 从 0 开始,但是 if 语句并不是多余的。

关于c++ - 在 C++ 中使用 while 循环查找一组数字中的最小值的程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52942776/

相关文章:

c++ - 警告 RC4011 : identifier truncated to

c++ - 我如何等待由我的应用程序 Qt/C++ 启动的另一个应用程序启动的应用程序

c++ - 为 C 或 C++ 定义的通用预处理器?

c++ - 链接器错误 : ld symbols not found

C++句柄/主体类自动由模板参数包组成。这可以改进吗?

c++ - 将自定义字符串放入文件中

c++ - 最佳实践 : Passing Arrays of Data

c++ - 尝试从 csv 文件输入大量数据时出错

c++ - 如何使用 std::vector<std::tuple<A,B>> 来管理内存(调整大小、保留...),但实际上保持 B 之前的 As 连续

c++ - getline() 函数在输入之前读取空白