为什么程序总是返回"假"?
Somewhy the program always returns 'false'?
为什么这段代码总是返回'false'并激活goto,即使我输入一个数字?有人能帮帮我吗?谢谢你!
char userValue = '4';
auto h = true;
tryAgain:
std::cout << "Please type a digit: ";
std::cin >> userValue;
switch (userValue) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
h = true;
default:
h = false;
}
switch (h) {
case true:
std::cout << "This character is a digit.";
case false:
std::cout << "Wrong! Try again!" << std::endl;
goto tryAgain;
}
您只是忘记了在已经处理的情况下跳出来。这样就可以在处理完true
案件后再处理false
案件。
switch (h) {
case true:
std::cout << "This character is a digit.";
break;
case false:
std::cout << "Wrong! Try again!" << std::endl;
goto tryAgain;
//not necessarily needed because goto leaves the scope anyway.
//break;
}
这里也是同样的问题,如果你不想停止掉下来,请中断:
switch (userValue) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
h = true;
break;
default:
h = false;
break;
}
相关文章:
- 为什么我的程序在for循环中k=0时返回垃圾值
- 为什么这个程序返回最后一个单词而不是最长的单词?
- 为什么C++程序在太大时返回代码而不是答案?
- 这是使用回溯的 nqueen 问题,但我使用了动态 2d 数组,我的程序编译良好,但不返回任何输出
- 程序中的布尔函数返回输入的范围无论如何都是无效的
- 为什么我的程序在 O0 和 O2 的优化级别返回不同的结果
- 程序不向函数返回值
- 返回不需要的值的二叉搜索程序
- 为什么这个程序没有打印返回的迭代器的正确第二个元素?
- C ++程序如何返回我的数组或写入全局变量
- bash脚本在使用popen()时不返回代码以调用C ++程序
- 如何使用从处理程序调度的最终回调将响应异步返回给调用方on_read?
- 返回主窗口/ C ++后,应用程序正在关闭
- 将数组作为多线程应用程序中函数的返回传递
- 当if语句告诉程序返回0时,我的程序不会退出
- 同一个程序每次返回不同的输出
- 由于值返回函数中的错误,程序无法编译.它说未声明的标识符
- 此程序不返回任何内容
- 为什么这个C++程序在代码::块和在线 IDE 之间返回不同的结果?
- 类对象的向量C++文件返回程序