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而是很长的数字就麻烦了,我希望是一个普适的解决方法..... 展开
错误代码如下:
#include "stdio.h"
void main()
{ char s[]="11\x6d22";
printf("%s",s);
}
报错:too big for character
多谢 sky清水无香sky 的回答,看看还有更好的答案没?
因为如果后面不是22而是很长的数字就麻烦了,我希望是一个普适的解决方法..... 展开
2个回答
展开全部
呵呵,其实楼主再往深层思考答案就出来了,既然m能用转义字符表示,那么2和2也可以用2个转义字符表示。
希望回答对楼主有帮助,还有什么不懂的就补充问题,很高兴为你解答。
补充回答:
程序修改如下:
#include "stdio.h"
void main()
{ char s[]="11\x6d\00722";
printf("%s",s);
}
解释:\007在转义字符中代表响铃的意思,在这里你所需要的不是响铃,但是用这种办法可以解决你的问题,你也可以尝试着用其他方式去解决,我只是抛砖引玉,就题论题,呵呵。
希望回答对楼主有帮助,还有什么不懂的就补充问题,很高兴为你解答。
补充回答:
程序修改如下:
#include "stdio.h"
void main()
{ char s[]="11\x6d\00722";
printf("%s",s);
}
解释:\007在转义字符中代表响铃的意思,在这里你所需要的不是响铃,但是用这种办法可以解决你的问题,你也可以尝试着用其他方式去解决,我只是抛砖引玉,就题论题,呵呵。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询