得到如下结果[Warning] multi-character character constant [-Wmultichar]
时间: 2023-08-24 22:06:20 浏览: 49
这是因为 `'有'` 和 `'无'` 是多字节字符常量,编译器无法确定其具体的值。为了避免这个警告,可以使用双引号将其转换为字符串常量,例如:
```c
if (tolower(line[i]) == '有' || tolower(line[i]) == '无' || isdigit(line[i]))
{
newLine[j] = line[i];
j++;
}
```
可以改为:
```c
if (tolower(line[i]) == '有' || tolower(line[i]) == '无' || isdigit(line[i]))
{
newLine[j] = line[i];
j++;
}
```
这样就可以避免警告了。
相关问题
89 34 C:\Users\86173\Desktop\1.cpp [Warning] multi-character character constant [-Wmultichar]
这个警告是由于程序中出现了多个字符的字符常量,例如 `'ab'` 这样的常量。在C++中,字符常量只能包含一个字符,因此出现多个字符的字符常量是非法的。
要解决这个警告,可以将多个字符的字符常量改为单个字符的字符常量。例如,将 `'ab'` 改为 `'a'` 或者 `'b'`。
如果您确认需要使用多个字符的字符常量,可以使用字符串常量代替,例如 `"ab"`。不过需要注意的是,字符串常量是以 NULL 结尾的,因此在使用时需要注意字符串的长度。
7 14 D:\mycode\C++\题\语法.cpp [Warning] multi-character character constant [-Wmultichar]
这个警告是由于你在代码中使用了多字符字符常量。在C++中,字符常量应该只包含一个字符,如 'a' 或 '1'。如果你使用了多个字符,编译器会给出这个警告。在你的代码中,你可能使用了一个以上的字符来定义一个字符常量。
例如,如果你写了类似这样的代码:
```cpp
char c = 'ab';
```
编译器会给出警告,因为 'ab' 包含了两个字符。你可以将它改为单个字符的常量,或者使用字符串来表示多个字符。
如果你想表示一个字符串而不是字符常量,你可以使用双引号来包围它,如:
```cpp
char* str = "ab";
```
这样就不会出现多字符字符常量的警告了。记住,在C++中,单引号用于字符常量,双引号用于字符串常量。