
c语言反斜杠的问题
main(){chars[]="\n123\\";printf("%d,%d\n",strlen(s),sizeof(s));}这个程序是输出时多少的,为什么?...
main()
{ char s[]="\n123\\";
printf("%d,%d\n",strlen(s),sizeof(s));
}这个程序是输出时多少的,为什么? 展开
{ char s[]="\n123\\";
printf("%d,%d\n",strlen(s),sizeof(s));
}这个程序是输出时多少的,为什么? 展开
9个回答
展开全部
输出是 6 4
6是strlen(s)的输出结果 字符串"\n123\\" 的长度 其中\n是一个字符 代表“回车”(enter) 其他的1,2,3,\,\ 各占一个字符
4是sizeof(s)的输出结果 char这个类型的长度 为4 代表每个字符占4个字节
\后面跟上特定的字母代表特定的字符 比如\n代表回车 \t代表tab键 等等 因为这些字符无法直接用某个字符直接表示 所以用 \跟字母 的组合代表特殊字符
希望可以帮到你
6是strlen(s)的输出结果 字符串"\n123\\" 的长度 其中\n是一个字符 代表“回车”(enter) 其他的1,2,3,\,\ 各占一个字符
4是sizeof(s)的输出结果 char这个类型的长度 为4 代表每个字符占4个字节
\后面跟上特定的字母代表特定的字符 比如\n代表回车 \t代表tab键 等等 因为这些字符无法直接用某个字符直接表示 所以用 \跟字母 的组合代表特殊字符
希望可以帮到你
2013-04-08
展开全部
输出为5,6。反斜杠在C语言中被用作转义字符,如果要输出反斜杠字符本身,则在程序中必须写成\\。在你上面的程序中,\n是一个字符,\\是一个字符,因而在取字符串长度时,就是5;因为s是一个字符数组,而用来对其进行初始化的字符串是以\0结尾(编译时会自动加上),所以sizeof(s)是6。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-04-08
展开全部
输出:5,6.原因:字符串内容为一个换行符、三个数字、一个反斜杠,共是5个字符,长度为5. 有因为字符串最后有一个“\0”字符,所以大小为6.注意:“\n”和“\\”分别表示换行符与一个反斜杠。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-04-08
展开全部
输出5,6
char s[]="\n123\\"; s包含6个字节,分别是
\n
1
2
3
\\
\0
strlen(s)只统计s中非0字符的总数,所以不包括结尾的\0,sizeof(s)则返回字符数组的大小,包括\0在内
所以输出5,6
望采纳
char s[]="\n123\\"; s包含6个字节,分别是
\n
1
2
3
\\
\0
strlen(s)只统计s中非0字符的总数,所以不包括结尾的\0,sizeof(s)则返回字符数组的大小,包括\0在内
所以输出5,6
望采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
5,6才是对的,“\\”有转义的作用,表示一个“\”,“\n”一样有转义作用,是一个字符。sizeof的话,应该算上"\0",他是字符串结束符,每个字符串都有一个“\0”
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |