switch case 字符串
时间: 2023-07-24 08:38:24 浏览: 92
在 C++ 11 之后,支持使用字符串作为 switch case 条件。具体实现方式可以使用 std::string 或者 char[] 类型来表示字符串,然后使用常量表达式来作为 case 条件。下面是一个示例代码:
```
#include <iostream>
#include <string>
using namespace std;
int main() {
string str = "hello";
switch (str[0]) {
case 'h':
cout << "The first letter is h" << endl;
break;
case 'w':
cout << "The first letter is w" << endl;
break;
default:
cout << "The first letter is neither h nor w" << endl;
}
return 0;
}
```
在上面的代码中,我们使用 std::string 类型表示字符串,并且使用 str[0] 来获取字符串的第一个字符。然后我们使用 switch case 来判断第一个字符是不是 'h' 或者 'w'。如果是,就输出对应的信息,否则输出默认信息。
相关问题
switch case字符串
在 C++ 中,`switch case` 语句也可以用于比较字符串。然而,C++ 中的 `switch case` 语句只支持整数类型的表达式,所以直接使用字符串作为表达式是不被允许的。
为了在 `switch case` 语句中比较字符串,你可以使用 `strcmp()` 函数来比较字符串的值。下面是一个示例:
```C++
#include <iostream>
#include <cstring>
int main() {
char str[] = "apple";
if (strcmp(str, "apple") == 0) {
std::cout << "It's an apple!" << std::endl;
} else if (strcmp(str, "banana") == 0) {
std::cout << "It's a banana!" << std::endl;
} else {
std::cout << "It's neither an apple nor a banana." << std::endl;
}
return 0;
}
```
在上面的示例中,我们使用 `strcmp()` 函数来比较字符串 `str` 和 `"apple"`、`"banana"` 的值。如果两个字符串相等,则返回值为 0,因此我们可以使用 `strcmp() == 0` 来进行比较。请注意,在使用 `strcmp()` 比较字符串时,需要包含头文件 `<cstring>`。
switch case 输出字符串
可以使用switch case语句输出字符串的ASCII码。具体实现方法如下:
1.将字符串转换为字符数组。
2.遍历字符数组,将每个字符转换为对应的ASCII码。
3.使用switch case语句根据ASCII码输出对应的字符。
以下是示例代码:
```
String str = "Hello World";
char[] chars = str.toCharArray();
for(char c : chars){
int ascii = (int)c;
switch(ascii){
case 65:
System.out.print("A");
break;
case 66:
System.out.print("B");
break;
//其他字母的ASCII码省略
default:
System.out.print(" ");
break;
}
}
```
输出结果为:HELLO WORLD
阅读全文