Visual c++ 为什么结果总是空的(c+;+;) 我建立了一个计算器来开始学习C++,但是结果总是0。如果我不给result=0,它会说result未初始化。。。错误在哪里? 此外,如果我设置了默认值,它将始终打印出默认值。我必须初始化所有整数吗 int main() { int result = 0; int processing; int nmb; int nmb; char wait; cout << "Operation:" << endl; cout << "1 for +" << endl; cout << "2 for -" << endl; cout << "3 for *" << endl; cout << "4 for /" << endl; cin >> processing; cout << "Type both numbers:" << endl; cout << "1.nmb:" << endl; cin >> nmb1; cout << "2.nmb:" << endl; cin >> nmb2; switch (processing) { case '1': result = nmb1 + nmb2; break; case '2': result = nmb1 - nmb2; break; case '3': result = nmb1 * nmb2; break; case '4': if (nmb2 == 0) { cout << "Dont do that!"; break; } else { result = nmb1 / nmb2; break; } } cout << "result = " << result << endl; cin >> wait; return 0; intmain() { int结果=0; 整数处理; 国际网管局; 国际网管局; 字符等待; cout

Visual c++ 为什么结果总是空的(c+;+;) 我建立了一个计算器来开始学习C++,但是结果总是0。如果我不给result=0,它会说result未初始化。。。错误在哪里? 此外,如果我设置了默认值,它将始终打印出默认值。我必须初始化所有整数吗 int main() { int result = 0; int processing; int nmb; int nmb; char wait; cout << "Operation:" << endl; cout << "1 for +" << endl; cout << "2 for -" << endl; cout << "3 for *" << endl; cout << "4 for /" << endl; cin >> processing; cout << "Type both numbers:" << endl; cout << "1.nmb:" << endl; cin >> nmb1; cout << "2.nmb:" << endl; cin >> nmb2; switch (processing) { case '1': result = nmb1 + nmb2; break; case '2': result = nmb1 - nmb2; break; case '3': result = nmb1 * nmb2; break; case '4': if (nmb2 == 0) { cout << "Dont do that!"; break; } else { result = nmb1 / nmb2; break; } } cout << "result = " << result << endl; cin >> wait; return 0; intmain() { int结果=0; 整数处理; 国际网管局; 国际网管局; 字符等待; cout,visual-c++,Visual C++,问题可能是您正在根据char cases('1'->char)而不是int(1)检查switch语句 编译器不会抱怨,因为char有一个对应的int值(参见ASCII表),它可以执行隐式转换 请尝试删除“”或将处理类型更改为char 编辑: 您还将获得“结果未初始化”,因为您的开关没有默认的大小写,并且由于上述错误,您永远不会达到任何其他大小写并分配值。处理变量的类型与开关大小写不匹配 尝试char processing;因为“processing”是一个int变量,所以应该使用case 1而不

问题可能是您正在根据char cases('1'->char)而不是int(1)检查switch语句

编译器不会抱怨,因为char有一个对应的int值(参见ASCII表),它可以执行隐式转换

请尝试删除“”或将处理类型更改为char

编辑:
您还将获得“结果未初始化”,因为您的开关没有默认的大小写,并且由于上述错误,您永远不会达到任何其他大小写并分配值。

处理变量的类型与开关大小写不匹配


尝试
char processing;

因为“processing”是一个int变量,所以应该使用case 1而不是case“1”。
不应将“”与1一起使用。

因此,如果我的变量是字符串,我只使用“”?如果它是字符类型,则可以使用“”。请选择正确答案(如果有帮助)