鱼C论坛

 找回密码
 立即注册
查看: 3493|回复: 2

转义字符

[复制链接]
发表于 2022-10-4 15:31:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>
int main()
{
char a,b,c,*d;
a='\';     
b=‘\xbc';
c="\0xab";
d="\0127";
printf("%c %c %c %c\n",a,b,c,*d);
d是转义字符还是字符串啊,转义字符八进制不是只可以\d,\dd,\ddd吗,不可以\dddd吧?
a,b,c又是为什么
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-10-4 15:55:06 | 显示全部楼层
本帖最后由 jackz007 于 2022-10-4 16:02 编辑
  1.         char a,b,c,*d;  // d 被定义成 char * d 是指针,和 char 无关
  2.         a ='\'       ;  // 无效的赋值,无法编译         
  3.         b ='\xbc'    ;  // 有效的写法是 b = \xbc , 没有引号,xbc 是十六进制的 0xbc,对应的十进制数是 188  
  4.         c ="\0xab"   ;  // 有效的写法是 c = \xab , 没有引号,xab 是十六进制的 0xab,对应的十进制数是 171
  5.         d="\0127"    ;  // 有效的写法是 d = \127 , 没有引号,127 是八进制数 127(8),对应的十进制数是 87
复制代码

        修改后的版本
  1. #include<stdio.h>

  2. int main()
  3. {
  4.         char a , b , c , d                      ;  
  5.         a = '\\'                                ;
  6.         b = \xbc                                ; // 十六进制在 '\x' 后面应该是 2 个数字
  7.         c = \071                                ; // 八进制在 '\' 后面应该是 3 个数字
  8.         d = \127                                ; // 八进制在 '\' 后面应该是 3 个数字
  9.         printf("%c %c %c %c\n" , a , b , c , d) ;
  10. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-10 20:38:12 | 显示全部楼层
c是16进制数\0xdd
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-23 11:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表