char a='\82'
\82转义为字符R是一个字符,符合创建变量a的大小,赋值给a,为什么会是不合法呢
ascll转义为常量赋值字符变量为什么不行
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
5条回答 默认 最新
关注 引自免费微信小程序:皆我百晓生
在C语言中,当你尝试使用
\
转义序列时,它会根据特定的规则将字符串转换为对应的特殊字符。例如,\n
代表换行符,\t
代表制表符等。然而,在你提供的例子
char a = '\82';
中,\8
并不是一个有效的转义序列。C语言中的八进制转义序列要求至少包含三个数字,如\000
到\377
(其中\0
是 null 字符)。所以,如果你想要表示 ASCII 码为 82 的字符 'R',你应该使用四个八进制数字,即\134
,因为 'R' 的 ASCII 值是 82,而 8 在八进制中对应于12
,因此你需要加上前导零,得到\134
。正确的写法应该是:
char a = '\134';
这将会把字符 'R' 赋值给变量
a
。注意,如果你尝试使用非标准的转义序列,编译器可能会报错或者产生未定义的行为。解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 kafka无法正常启动(只启动了一瞬间会然后挂了)
- ¥15 开发一个类似百度网盘的软件,在主页 文件列表点击进入文件夹,在文件夹里面还有文件夹,代码该怎么写?
- ¥30 使用matlab将观测点聚合成多条目标轨迹
- ¥15 Workbench中材料库无法更新,如何解决?
- ¥20 如何推断此服务器配置
- ¥15 关于github的项目怎么在pycharm上面运行
- ¥15 内存地址视频流转RTMP
- ¥100 有偿,谁有移远的EC200S固件和最新的Qflsh工具。
- ¥15 有没有整苹果智能分拣线上图像数据
- ¥20 有没有人会这个东西的