判断char*与A是否相等的代码
时间: 2023-05-26 09:07:13 浏览: 56
这个问题需要提供更多上下文信息,因为 A 是什么类型的数据是未知的。
如果 A 是一个 char 类型的变量,则可以通过以下代码判断:
```c++
char *str = "example";
char a = 'e';
if (*str == a) {
cout << "Equal" << endl;
} else {
cout << "Not equal" << endl;
}
```
如果 A 是一个 char 类型的数组,则可以通过以下代码判断:
```c++
char *str = "example";
char example[] = "example";
if (strcmp(str, example) == 0) {
cout << "Equal" << endl;
} else {
cout << "Not equal" << endl;
}
```
如果 A 是一个字符串类型的指针,则可以通过以下代码判断:
```c++
char *str = "example";
char *A = "example";
if (strcmp(str, A) == 0) {
cout << "Equal" << endl;
} else {
cout << "Not equal" << endl;
}
```
相关问题
如何判断两个char*相等
可以使用strcmp函数来判断两个char*是否相等。strcmp函数在C标准库中,它用于比较两个字符串。如果两个字符串相等,strcmp函数返回0,否则返回非0值。
例如,假设有两个char* s1和s2,可以使用以下代码来比较它们是否相等:
```
if(strcmp(s1, s2) == 0) {
// s1和s2相等
} else {
// s1和s2不相等
}
```
需要注意的是,strcmp函数只比较字符串内容是否相等,不考虑字符串的长度。如果要比较字符串的长度,可以使用strncmp函数。
switch判断char*
在C语言中,switch语句只能使用整型或枚举类型作为判断条件,不能使用指针类型。但是我们可以通过将字符数组转化为整型来实现类似的功能。
假设我们有一个字符数组char *str,可以通过以下方式将其转化为整型:
```
int hash = 0;
for (int i = 0; str[i]; i++) {
hash = hash * 31 + str[i];
}
```
这个hash值可以作为switch语句的判断条件。例如:
```
char *str = "hello";
int hash = 0;
for (int i = 0; str[i]; i++) {
hash = hash * 31 + str[i];
}
switch (hash) {
case 'h' * 31 * 31 * 31 + 'e' * 31 * 31 + 'l' * 31 + 'l':
printf("Hello!\n");
break;
case 'w' * 31 * 31 * 31 + 'o' * 31 * 31 + 'r' * 31 + 'l':
printf("World!\n");
break;
default:
printf("Unknown string!\n");
}
```
这段代码会输出"Hello!",因为hash值与'hello'对应的hash值相等。