做网站到底需要什么推广普通话手抄报内容资料
Cpp输出多字符常量警告
Cpp中用单引号(single quotes)表示单个字符(single character),例如'a','$',用双引号(double quotes)表示字符串文本(text),例如"Hello World! "
当在一个单引号里面存在多个字符时,Cpp编译器就会发出警告([-Wmultichar])multi-character
如下所示:
#include <iostream>using namespace std;int main()
{/* multi-character */cout << 'aa' << endl;return 0;
}
 
警告信息为:
[{"resource": "/e:/CppWorkSpace/VSCLearnCpp/learncpp/1_5.cpp","owner": "_generated_diagnostic_collection_name_#0","code": "-Wmultichar","severity": 4,"message": "Multi-character character constant","source": "clang","startLineNumber": 19,"startColumn": 13,"endLineNumber": 19,"endColumn": 17
}]
 
其中最主要的为 "message": "Multi-character character constant"
运行该程序,便会得到以下的结果
 
1_5.cpp:19:13: warning: multi-character character constant [-Wmultichar]19 |     cout << 'aa' << endl;|             ^~~~
24929
 
编译器发出警告信息,同时输出24929
 
原来'a'字符的ASCII码为0x61,当多个字符放在同一个单引号中,就会自动将其转换为ASCII码
 'aa'将被转换为0x6161转化为十进制数就是24949,同时这个十进制的范围最大为long int;
 例如'aaa将被转换为0x616161转换为十进制数即为6381921.
在实际编程中,我们要避免这种问题的发生
参考链接
ASCII码表
