C++,如何用单个汉字对char类型进行初始化?

该用户不存在,别找了 2021-02-14 02:08:05
int main(void)
{
cout << "定义字符数组a[]后,可以用数组名a来输出:";
char a[] = "我爱你";
cout << a << endl << endl;

cout << "但不能用下标来输出a[2],否则,cout输出空白:";
cout << a[2] << endl << endl;

cout << "char变量也不能用单个汉字进行初始化,否则,cout输出空白:";
char b = '我';
cout << b << endl;

cout << endl;

cout << "这是为什么?\n";

return 0;
}
...全文
226 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
_TheAurora_ 2021-02-15
  • 打赏
  • 举报
回复
用宽字符wchar试试
  • 打赏
  • 举报
回复
引用 6 楼 丁劲犇 的回复:
上面说的是正解!如果用wchar,倒是可以,不过注意代码中字符串前面也要加L
谢谢啦
  • 打赏
  • 举报
回复
上面说的是正解!如果用wchar,倒是可以,不过注意代码中字符串前面也要加L
  • 打赏
  • 举报
回复
引用 2 楼 forever74 的回复:
因为无论是多字节字符还是宽字符,汉字都需要多于1个字节的空间才能放得下,char类型的变量只有1个字节的空间,放不下。 cout出于负责的态度,不想给你乱码,所以才空白的。空白总比乱码好看一些。
多谢了
  • 打赏
  • 举报
回复
引用 1 楼 智者知已应修善业 的回复:
谢谢谢谢
  • 打赏
  • 举报
回复
谢谢,谢谢你
forever74 2021-02-14
  • 打赏
  • 举报
回复
因为无论是多字节字符还是宽字符,汉字都需要多于1个字节的空间才能放得下,char类型的变量只有1个字节的空间,放不下。 cout出于负责的态度,不想给你乱码,所以才空白的。空白总比乱码好看一些。
  • 打赏
  • 举报
回复

65,186

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧