c++ - 为什么我的 while 循环结束了?

标签 c++ loops while-loop return response

无论我输入 Y 还是 N,我的程序都会在我回答“更多肉?”后结束。我期待它返回对循环的响应。

#include <iostream>
using namespace std;
int main()
{
    char response = 'y';
    double price;
    double total = 0;
    while (response == 'Y' || 'y') {

        cout << "Please enter price of meat: ";
        cin >> price;

        total += price;

        cout << "More meat? (Y/N)";
        cin >> response;
        return response;
    }
    cout << "Your total is: " << total;

    return 0;

}

最佳答案

while (response == 'Y' || 'y') {

应该是

while (response == 'Y' || response ==  'y') {

还有

return response;

退出整个函数(main)。你不需要它。


I'm expecting it to return the response to the loop

您不需要(return 用于从函数返回值,终止其执行)。因此,在循环的 } 之后,下一个执行行将是 while ( condition ) ...。如果 condition 被评估为 false,循环将停止,下一个执行行将是循环的 } 之后的行。

关于c++ - 为什么我的 while 循环结束了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20976026/

相关文章:

c++ - 如何使用仅使用其中一个 vector 的条件以相同方式对两个 vector 进行排序?

php - false 时继续执行代码

c - 卡在最大无符号短变量提示上

while-loop - 在迭代循环中避免 CudaMemcpy

c++ - CUDA-GDB 在 C/C++ 中查看变量

c++ - libstdc++ 已弃用;移至 libc++ [-Wdeprecated] 但更改会产生编译错误

c++ - 使用通用引用实现前向函数

php - 按自定义产品属性过滤产品并在 WP_Query 中发布元数据

java - 如何在唯一迭代中从循环中提取值?

python - 如何在 5 次尝试后退出 while-true 循环?