本文主要是介绍C++学习插曲:“name“的初始化操作由“case“标签跳过,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题
"name"的初始化操作由"case"标签跳过
问题代码
case 3: // 3、删除联系人string name;cout << "请输入删除联系人姓名:" << endl;cin >> name;if (isExistPerson(&abs, name) == -1){cout << "查无此人" << endl;}else{cout << "找到此人" << endl;}break;
解决
给case
下的语句放到{}
里面包裹
case 3: // 3、删除联系人
{string name;cout << "请输入删除联系人姓名:" << endl;cin >> name;if (isExistPerson(&abs, name) == -1){cout << "查无此人" << endl;}else{cout << "找到此人" << endl;}break;
}
原因
当case
中的代码只有一行的时候,不需要添加{}
,可以直接编写代码;
但是,当case
中的代码不止一行的时候,需要把代码放到{}
中。
如果你想在case
标签下有一个或多个语句作为一个代码块来执行,那么你应该使用花括号。这有助于确保逻辑上的分组,并防止意外的fall-through
行为(即,一个case的代码块执行完后不会自动跳到下一个case)
。
switch (variable) { case 1: // 单个语句,不需要花括号 doSomething(); break; case 2: // 如果有多个语句,建议使用花括号 { doSomethingElse(); doAnotherThing(); } break; // ...
}
这篇关于C++学习插曲:“name“的初始化操作由“case“标签跳过的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!