c语言求字符串长度
Ⅰ c语言如何求字符串长度
我的方法和楼上的大同小异用指针法:#include "stdio.h"
void main()
{char str[128];<br> char * p;<br> int count=0;<br> p=str;<br> gets(str);<br> while(*p++!='\0')<br> count++;<br> printf("%d",count);<br>}非指针法(这个方法是调用系统函数,比之自己写的函数简单明了):#include "stdio.h"
#include "string.h"
void main()
{char str[128];<br> gets(str);<br> printf("%d",strlen(str));<br> }
Ⅱ C语言 字符串长度
这个字符串长度为10个字符。
你可以用strlen("ab'1'\\\12803")来求这个字符串的长专度。
也可以用sizeof("ab'1'\\\12803")来求,但是这属个求出的结果是多了一个字符串结束符\0。
你可以试着输出这个字符串看看是不是10个字符。
实际上,这10个字符分别为:
1、a
2、b
3、'
4、1
5、'
6、\\(\\表示:前一个表示这是一个转义字符,后一个才是字符串中的真实字符)
7、\12(同上,\表示这是一个转义字符,其后面的1~3个数字位是一个八进制数,在这里,第3个数字为8,所以它不是这个八进制数的一部分,即这个八进制数应该是12,转换为10进制数即为10,对应的ASCII码为一个换行符)
8、8
9、0
10、3
注:\用来说明一个转义字符,如\\表示反斜杠字符“\”,\ddd表示1~3位八进制数所代表的字符(ASCII码),\xhh表示1~2位十六进制数所代表的字符。
Ⅲ C语言 关于输出字符串长度
strlen为求字符串长度,asd长度为三,\n为回车算一个,\x12为一个十六进制数算一个,\1代表八进制的1,算一个,\\第一个为\为转义字符,将第二个\转换为普通字符,所以它们也算一个。所以就是7个
Ⅳ c语言字符串长度的计算
可以做一个小的程序来实现,这样在你的程序中调用就可以的
我做了一个
你先看看
#include<stdio.h>
int
main()
{
char
a[]="hello
worldwerer
sdefe
drefefefef";
int
i,count=0;
for(i=0;a[i]!='\0';i++)
{
if(a[i]=='
')
{
printf("%d,",count);
count=0;
continue;
}
count++;
}
printf("%d",count);
getchar();
}
Ⅳ C语言字符串求长度问题
这两个答案肯定是不一样的!
strlen的含义是求字符串的长度,也就是串中的字符数,不包括最后的那,而sizeof的含义是求字符串所占的内存大小,自然要算上最后的那。
因此。。。
strlen
9
分别是0,\(\\,转义字符),1,2,5,回车,a,b,table(空白符)到第一个'\0'时就结束了
strlen
15
内存中是0,\(\\,转义字符),1,2,5,回车,a,b,table(空白符),'\0',a,0,0,'\0','\0'(最后一个是字符串结束的标志)。
有问题的话可以再和我交流。。。。
Ⅵ c语言:编写一个函数求给定字符串长度
方法一:数组方式
代码如下:
<span style="font-size:18px;">#include<stdio.h>
#include<assert.h>
int my_strlen(char const*str)
{
int count=0;
assert(str);//断言,判断指针的有效性
while(*str++!=NULL)
{
count++;
}
return count;
}
int main()
{
char arr[30]="trouble is a friend.";
printf("%d ",my_strlen(arr));
getchar();
return 0;
}</span>
运行结果:
方法二:指针方式
说明:当两个指针都指向同一个数组中的元素,指针减指针就是指针与指针之间元素的个数;两个地址相加没有实际意义。
代码如下:
<span style="font-size:18px;">#include<stdio.h>
int my_strlen(char const*str)
{
char const*tmp=str;
while(*str!='