字符串中的格式符
#include<stdio.h>voidmain(){char*s="\ta\018bc";for(;*s!='\0';s++)printf("*",);}为什么输出的...
#include <stdio.h>
void main()
{
char *s="\ta\018bc";
for(;*s!='\0';s++)printf("*",);
}
为什么输出的是6个*,而不是9个*呢,有点不明白,是不是C里面没有"\"这个字符,只要出现”\“,就以格式符、转义字符等来看待?
小弟初学,希望高手答疑!谢谢
而我改成
#include <stdio.h>
void main()
{
char *s="\ta\018bc";
for(;*s!='\0';s++)printf("%c",*s);}
后确实输出的6个: 展开
void main()
{
char *s="\ta\018bc";
for(;*s!='\0';s++)printf("*",);
}
为什么输出的是6个*,而不是9个*呢,有点不明白,是不是C里面没有"\"这个字符,只要出现”\“,就以格式符、转义字符等来看待?
小弟初学,希望高手答疑!谢谢
而我改成
#include <stdio.h>
void main()
{
char *s="\ta\018bc";
for(;*s!='\0';s++)printf("%c",*s);}
后确实输出的6个: 展开
2个回答
展开全部
\打头的,C语言定义为转义字符,\01 表示八进制的ASCII所对应的字符,其实 \ 后面可以跟3位八进制数,在你的题中,第三个字符应给是一个笑脸;
参考资料: http://baike.baidu.com/view/73.html?wtp=tt
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询