当前位置:   article > 正文

0 、 ‘0‘ 、 “0“ 、 ’\0’ 区别_.

.

① ‘0’ 代表 字符0 ,对应ASCII码值为 0x30 (也就是十进制 48)

② ‘\0’ 代表 空字符(转义字符)【输出为空】, 对应ASCII码值为 0x00(也就是十进制 0), 用作字符串结束符

③ 0 代表 数字0, 若把 数字0 赋值给 某个字符,对应ASCII码值为 0x00(也就是十进制0)

④ “0” 代表 一个字符串, 字符串中含有 2个字符,分别是 ‘0’ 和 ‘\0’

下面补充说明(帮助理解)

① char ch_0 = ‘0’; // 字符0 赋值给一个字符,实际赋的 码值 为 0x30,十进制48

  std::cout << ch_0 << '\n';      // 输出的 是 码值0x30 对应的 字符 0, 界面上看到的是0

  std::cout << int(ch_0) << '\n';    // 输出的 是字符 ‘0’ 对应的码值  0x30,即十进制48  ,界面上看到的是 48
  • 1
  • 2
  • 3

② char ch_0 = ‘\0’; // 字符‘\0’ 赋值给一个字符,实际赋的 码值 为 0x00,十进制0

  std::cout << ch_0 << '\n';     // 输出的 是 码值0x00 对应的 空字符【NULL】, 界面上看到的是 空白,什么也看不见

  std::cout << int(ch_0) << '\n';    // 输出的 是字符 ‘\0’ 对应的码值  0x00,即十进制0  ,界面上看到的是 0
  • 1
  • 2
  • 3

③ char ch_0 = 0; // 数字0 赋值给一个字符,实际赋的是 码值

   std::cout << ch_0 << '\n';    // 输出的 是 码值0 对应的 字符,此处为 空白字符,即输出为空,界面上什么也看不见

  std::cout << int(ch_0) << '\n';    // 输出的 是码值  0x00,即十进制0  ,界面上看到的是0
  • 1
  • 2
  • 3

④ char ch_0[ ] = “0”; // 字符串 “0” 初始化字符数组

  std::cout << sizeof(ch_0) << ‘\n’;     // 输出 ch_0 字节数, 界面显示 为2

  std::cout << ch_0[0] << '\n';             // 输出字符 ‘0’,界面上看到的是 0 

  std::cout << ch_0[1] << '\n';            // 输出字符 ‘\0’,界面上看到的是 空白

  std::cout << int( ch_0[0] )<< '\n';     // 输出字符 ‘0’ 对应的码值 0x30,界面上看到的是 48

  std::cout << int ( ch_0[1] )<< '\n';    // 输出字符 ‘\0’ 对应的码值 0x00,界面上看到的是 0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

注:以上代码 若是想拷贝试试,可能需要做相应的调整。因为为了方便大家学习,我有些地方多加了空格,能看得更清楚些,有问题欢迎留言探讨。

总结:记住几点

① 用 数值 给 某个 字符变量 赋值时,相当赋 与该数字相同码值 所对应的字符

② 用 字符 给 某个 字符变量赋值时, 即 赋 字符本身

③ ‘\0’ 对应的 码值为0, 界面显示为 空白
————————————————
版权声明:本文为CSDN博主「c+」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qnavy123/article/details/93901631

附ASCII码表
https://www.mianfeiwendang.com/doc/ad4484b20cf2d744353a48c59383e867e7ac4e54

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/273409?site
推荐阅读
相关标签
  

闽ICP备14008679号