77问答网
所有问题
char *s="\n123\\"; printf("%d,%d",strlen(s),sizeof(s));答案是5,4 刚编译了下 确实 求解释。等
如题所述
举报该问题
推荐答案 2012-10-28
楼主你好~~
首先要搞清楚,char *s ,s是一个字符型指针,指向一个字符串"\n123\\";~
这个字符串包含一个换行符,123三个数字字符,及一个转义后的反斜杠,一共5个字符。
所以用计算字符串长度的strlen函数的话,会得到该字符串长度,为5。
而sizeof函数则是计算这个类型在内存中所占大小,无论是int还是char型的指针,占用内存都为4,所以sizeof(s)是4。
希望楼主能看明白哈~~
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://77.wendadaohang.com/zd/WqGWNIppv.html
相似回答
char
*s=
"\
n123
\\"
;
printf(
"
%d,%d
"
,strlen(s),
sizeof(s));答案是5...
答:
首先要搞清楚
,char
*s
,s
是一个字符型指针,指向一个字符串"\
n123
\\";~这个字符串包含一个换行符,123三个数字字符,及一个转义后的反斜杠,一共5个字符。所以用计算字符串长度的
strlen
函数的话,会得到该字符串长度,为5。而sizeof函数则是计算这个类型在内存中所占大小,无论是int还是char...
...{
char
s[]="\
n123
\\"
;printf(
"
%d,%d
\n
,strlen(s),
sizeof(s));}...
答:
strlen()
返回'\0'前的长度。希望对你有帮助
...s[]="\
n123
\\"
;
printf(
"
%d,%d
\n"
,strlen(s),
sizeof(s)); } 要...
答:
5,6 长度不包括结束符\0 所以是5 sizeof 包括 所以 6 \
n 1 2 3
\\ \0 1 2 3 4 5 6
c语言
printf(
"%d\
n%d
"
,strlen(s)
)后面的%d输出的是啥了
答:
那是写错了。后面的%d没有与之匹配的变量,什么也不会输出——有些编译器下可能会输出0。
char
*s=
"\t\v\\\owill\
n;printf(
"
%d
"
,strlen(s)
);其输出结果是多少?并...
答:
应该是9吧.在字符串里面所有的'\'都是转意字符,就是说是要后面的字符和它配合算是一个.\t是制表,\\表示一个'\',\
n
是换行,等等.所以这里数一下应该是9个.貌似分号前面少了一个"
strlen(
"China\n")的值是多少?
答:
函数原型:unsigned int
strlen(char
*s);
参数:s是char类型的指针,指向要求长度的字符串 返回值:返回字符串的长度,返回类型是无符号整型 注意:strlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个...
设
char
*s=
”\ta\017bc”; 则指针变量s指向的字符串所占的字节数是...
答:
相当于键盘“Tab”键 a 普通字符 \017 转义字符 ASCII代码值为8进制数17即10进制数15的那个符号 b 普通字符 c 普通字符 字符串结束标志‘\0’
s
是字符串类型。每一个都是char型变量
;char
型变量的二进制长度是8,也就是一个字节,所以指针变量s 指向的字符串所占字节数是6 ,字符串长度是5。
大家正在搜
相关问题
main (){ char *s="\n123\\"; pr...
main() { char s[]="\n123\\"; p...
char s[ ]="1234567";,执行 printf...
C语言简单习题: printf("%d,%d\n",size...
char s[10]=”abc4567”; printf(“...
char s1[10]="abcd!",*s2="\n123...
char str[]="ab\n\012\\\"" prin...
c语言中,char *s="\n123\\"; sizeof...