当前位置: 首页 > news >正文

Cpp输出多字符常量警告

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码表

http://www.lryc.cn/news/440736.html

相关文章:

  • Maven从入门到精通(二)
  • 【Kubernetes】常见面试题汇总(二十四)
  • 最低成本的游戏串流方案分享 如何自己打造云电脑?
  • python运行时错误:找不到fbgemm.dll
  • 给虚拟机linux系统安装交叉编译工具链
  • Redhat 7,8系(复刻系列) 一键部署Oracle21c-xe rpm
  • Web植物管理系统-下位机部分
  • leetcode169. 多数元素
  • 从大脑图谱/ROI中提取BOLD信号
  • Java-数据结构-优先级队列(堆)-(一) (;´д`)ゞ
  • 工厂模式(二):工厂方法模式
  • 【洛谷】P11036 【MX-X3-T3】「RiOI-4」GCD 与 LCM 问题 的题解
  • MyBatis系统学习(三)——动态SQL
  • get_property --Cmakelist之中
  • 【Redis】Redis 典型应用 - 分布式锁原理与实现
  • Pybind11的使用
  • 鸿蒙-沉浸式pc端失效
  • 【资料分析】刷题日记1
  • nodejs+express+vue教辅课程辅助教学系统 43x2u前后端分离项目
  • 96-javahashmap底层原理
  • AI逻辑推理入门
  • 力扣3014.输入单词需要的最少按键次数I
  • 【Git】远程仓库
  • 苹果手机铃声怎么设置自己的歌?3个方法自定义手机铃声
  • 828华为云征文|华为Flexus云服务器搭建Cloudreve私人网盘
  • 【AI学习】AI绘画发展简史
  • 使用LangChain创建简单的语言模型应用程序【快速入门指南】
  • 嵌入式人工智能项目及人工智能应用项目——大合集列表查阅
  • 心觉:成功学就像一把刀,有什么作用关键在于使用者(一)
  • GAMES101(10节,几何)