多字符常量警告
multicharacter character constant warning
if(per>=80)
grade='A+';
else if(per>=75&&per<=79)
grade='A';
else if(per>=70&&per<=74)
grade='A-';
else if(per>=65&&per<=69)
grade='B+';
else if(per>=60&&per<=64)
grade='B';
else if(per>=55&&per<=59)
grade='B-';
else if(per>=50&&per<=54)
grade='C+';
else if(per>=45&&per<=49)
grade='C-';
else if(per>=40&&per<=44)
grade='D';
else
grade='F';
当我运行此代码时,我收到消息多字符字符常量。我看到了以前相同问题的解决方案,但未能在代码中实现。请任何人帮助我,告诉我应该用什么来运行代码
这是您的引号。一个字符周围的单引号用于char
字面值,多个字符附近的单引号被解释为整数类型的字面值(请参阅此处(,而零个或多个字符之间的双引号则被解释为const char*
(即c字符串(。
因此,您的'A+'
是int
,而不是您想要的char
或string
。修复方法是使用双引号,假设grade
的类型为char*
或std::string
。
撇号('(标记仅用于字符,如单个字母A。如果您想使用A+,它不再是单个字母,而是字符串。对于字符串,您应该使用引号("(。所以您需要将等级变量的类型改为字符串而不是字符,并将"替换为"。
相关文章:
- 多字符常量警告
- const_cast<字符 *>(字符* 常量) 不是左值?
- 常量字符数组模板与字符常量* 函数重载
- 如何检查字符常量是否符合ASCII
- 从字符串数组转换为字符* 常量
- 字符常量或字符串常量
- 字符常量数组为空,即使已为其赋值 [C++]
- 如何创建 ' 字符常量
- 如何编写完全可移植的 4 字节字符常量的编译时初始化
- 我得到以下错误:[警告]多字符字符常量
- C++错误:警告:多字符字符常量/a用于用法
- 字符常量和函数名称的 sizeof() 背后的逻辑
- 如何在 C 中将多字符常量转换为整数
- C++ wifstream:不兼容的字符常量*,wchar_t康斯特*类型
- 不允许从"常量无符号字符*常量*"到"常量字符*常量*"static_cast
- 修改字符 *常量字符串
- 为什么字符常量/文字不能为空?
- C++字符 * 常量与字符 *,为什么有时一个有时另一个
- 警告多字符字符常量 [-Wmultichar]
- 开关语句多字符常量