C语言中什么是的转义字符?怎么用?

我想输出"11m22"的字符串,但是题规定不能使用"11m22"来初始化字母,m只能通过转义字符来初始化,但是一旦利用\x6d来表示m就会出错,因为系统把后面的数也加进去... 我想输出 "11m22" 的字符串,但是题规定不能使用"11m22"来初始化字母,m只能通过转义字符来初始化,但是一旦利用\x6d来表示m就会出错,因为系统把后面的数也加进去了,就变成了\x6d22了,就出现了too big for character 的错误。有什么方法分隔转义字符不,以免普通字符影响转义效果?

错误代码如下:
#include "stdio.h"
void main()
{ char s[]="11\x6d22";
printf("%s",s);
}
报错:too big for character
多谢 sky清水无香sky 的回答,看看还有更好的答案没?
因为如果后面不是22而是很长的数字就麻烦了,我希望是一个普适的解决方法.....
展开
 我来答
sky清水无香sky
2010-06-17 · TA获得超过707个赞
知道小有建树答主
回答量:237
采纳率:100%
帮助的人:182万
展开全部
呵呵,其实楼主再往深层思考答案就出来了,既然m能用转义字符表示,那么2和2也可以用2个转义字符表示。
希望回答对楼主有帮助,还有什么不懂的就补充问题,很高兴为你解答。
补充回答:
程序修改如下:
#include "stdio.h"
void main()
{ char s[]="11\x6d\00722";
printf("%s",s);
}
解释:\007在转义字符中代表响铃的意思,在这里你所需要的不是响铃,但是用这种办法可以解决你的问题,你也可以尝试着用其他方式去解决,我只是抛砖引玉,就题论题,呵呵。
秒懂百科
2021-03-23 · TA获得超过5.9万个赞
知道大有可为答主
回答量:25.3万
采纳率:88%
帮助的人:1.2亿
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式