㈠ c语言字符串长度的问题
总共11个字符啊,钱算两个,还有末尾的'\0'。
㈡ C语言字符串长度问题
对于您的第一个问题,答案应该是8,这里先纠正一下您的错误,""ab\n\\012\""不对,应该是"ab\n\\012\"",还有应该颂颂历是char*而不是char,这里开头两个是两个字符a,b,然后樱饥是\n换行字符,接着是反斜杠字符,和0,1,2三个字符,最后是\"双引号字符,那么一共8个字符,所以输出长度应该为8.对于第二个问题,答案应该是6,你可以看见字符char是最小单位,对于sizeof的值为1,那么第一个\b是个转义字符,a是个字符,\016代表一个8进制野搜字符,e和f代表最后两个字符,这里一共5个字符,sizeof的值为5,那么为什么会有6的结果呢,因为字符数组在数组末尾会加上一个NULL空字符,所以一共6个字符,希望能解决您的问题,我的QQ274136197,有什么问题可以联系我
㈢ 一道C语言的题目,关于字符串的长度
长度是7
解答:字符串的长仿镇斗度是指字符串中有效字符的个数.在C程序中,组成字符串的字符可以是一般的普通字符,也可以是转义字符.其中转义字符又可以用多种不同形式来表达:反斜杠字符之后接上预先规定的字符,用来旅基表示特殊字符或特定意义的控制字符.如单引号字符,双引号字符,反斜杠字符等特殊字符,换行,回车,退格等控制字符.反斜杠字符之后接上1至3位八进制数字符,这是直接用八进制数字表示字符的ASCII代备磨码的方式.反斜杠字符之后接上字符x,并后接1至2个十六进制数字符,这是直接用十六进制数字表示字符的ASCII代码的方式.后二种能表示C语言允许的任何字符.在本小题给出的字符串中,字符'\x43'是用十六进制数表示的一个字符,字符'\\'表示一个反斜杠字符,字符'\n'表示一个换行字符,字符'\102'是用八进制数表示的一个字符.这样,所给字符串只有7个有效字符.所以,该字符串的长度是7
㈣ C语言 字符串长度问题!
第一个字符串长度为9(\x44 表示D,\\表示\,\n表示回车,\102表示B)
0:a
1:D
2:\
3:
4:b
5:c
6:d
7:B
8:a
--------------------
第二个字符串长度为7(\t 表示制表符,\xab表示一个字符,\3表示一个字符,\\表示\)
0:x
1:y
2:z
3:
4:
5:
6:\
㈤ c语言字符串长度问题,求帮助!
a,b,\n,\\,0 1,2,\\,\"——共9个。——\是转义字符引导符,后面跟一些有规定的字符,表示不同的意义:如\n是回车一个字符,\t是水平制表答一个字符,\\表示一个\一个字符(这是因为\是转义引导符,所以规定使用单个\以\\相区别),\"是一个双引号的一边一个字符等。
㈥ c语言字符串长度问题
可以啊 都可以达到效果啊 !
难道,你测试第二个不行吗??
㈦ c语言中关于字符串长度的问题
不,若不在[]填数字,就必须在初始化这个str,在等号右边写具体数据,有几个数据,编译器就自动在[]中填几了。所以char str[]{0}这样写是错误的,要写成char str[]={'a','b','c'};这样的形式,编译器就会认为[]中是3了。另,char型数组还可以char str[]="1234567";这样来定义,但这时[]中并不是7而是8,原来编译器把str作为字符串对待了,要在7后自动加一个结束符'\0'。
㈧ C语言求字符串长度的问题
你的代码出现问题的原因是scanf("%s",&a);,a是一个char类型的变量,系统为它分配了一个字节的内存空间,但是你却输入了一个字符串到以a的地址为首地址的一段连续的内存空间里,这样就出现了越界错误.但是printf函数并不检查越界错误,它会按正常的方法执行,然后程序统计出长度,打印出来结果.但是返回到调用main函数的操作系统后,系统会发现越界错误,所以在结果显示出来后才出错.至于你说的输入5个以下不会出错,也许是偶然,也许跟你的编译器有关.我用VS2005测试,只要输入就会出错。
如果你是只想求出输入的字符悔凳串的长度而不要求保存输入的字符串,下面的代码更好。你的标准输入缓冲区有多大,那么它就可以求出多长的字符串的长度,不会有越界。
#include<stdio.h>
intmain()
{
intlen=0;
//getchar()函数从标准输入设备裂前漏(即键盘)接收一个字符,返回该字符的ASCII码.因为回车被输入时被转换成换肆烂行符(LF,ASCII码为10),所以getchar()返回10时就知道输入结束了.
while(getchar()!=10)len++;
printf("It'slengthis%d.\n",len);
return0;
}
㈨ c语言求字符串长度问题
int length = stringlength(&s); 不该送 s 地址,直接 stringlength(s);
int stringlength(char **strings) 一个 * 就行了。 char *strings
㈩ C语言字符串长度问题
#include
<stdio.h>
#include
<string.h>
int
main()
{
char
s[100];
int
length;
scanf
("%s",
s);
length
=
strlen(s);
printf
("%s的长度是%d\n",
s,
length);
return
0;
}