printf("%c",'\65')与printf("%c",65)的区别

coding_my_life 2012-01-12 05:48:24
为什么printf("%c\n",'\65');输出的是 5

而printf("%c\n",65);输出的是 A ?
...全文
1241 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
work2012hard 2012-01-12
  • 打赏
  • 举报
回复
'\65' = 53 = ‘5’
iamnobody 2012-01-12
  • 打赏
  • 举报
回复
第二句写法是错的。应该写成,(char)65
AnYidan 2012-01-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 haibo_kang 的回复:]

引用 2 楼 coding_my_life 的回复:

引用 1 楼 hpsmouse 的回复:

'\65' 是八进制

但为什么输出是 5

八进制的65的ASCII码就是5
[/Quote]

google 转义字符
ProgrammingRing 2012-01-12
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 mscf 的回复:]

C/C++ code
printf("%c\n",'\x61');//十六进制
printf("%c\n",'\141');//八进制
printf("%c\n",97)//十进制;

都输出小写字母'a'
[/Quote]
学习。。
薛定谔之死猫 2012-01-12
  • 打赏
  • 举报
回复
printf("%c\n",'\x61');//十六进制
printf("%c\n",'\141');//八进制
printf("%c\n",97)//十进制;

都输出小写字母'a'
新屿 2012-01-12
  • 打赏
  • 举报
回复
支持4L
kevin_khb 2012-01-12
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 coding_my_life 的回复:]

引用 1 楼 hpsmouse 的回复:

'\65' 是八进制

但为什么输出是 5
[/Quote]
八进制的65的ASCII码就是5
面包大师 2012-01-12
  • 打赏
  • 举报
回复
printf("%c\n",'\65');//32位机%c只能打印高8位,所以'\65'只会打印5
coding_my_life 2012-01-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hpsmouse 的回复:]

'\65' 是八进制
[/Quote]
但为什么输出是 5
2012-01-12
  • 打赏
  • 举报
回复
'\65' 是八进制

70,038

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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