
使用string库函数里的strlen函数即可判断字符长度。
strlen函数可以计算给定字符串的长度,返回值为长度值。
例如计算字符串“helloworld2017”的长度的代码:
#include<stdioh>#include<stringh>
int main()
{
int i;
i = strlen("helloworld2017");
printf("%d",i);
}
运行结果如下:
第1个输出是8
10。sizeof运算符得到的是数组的占用字节的大小,在定义数组a的时候没有指明大小,编译器根据初始化的内容来决定a的大小,"abcdefg"是个字符串,连同表示字符串结束的'\0'共有8个字符,1个字符类型占用1个字节,所以sizeof(a)是8。在定义数组b的时候已经指明了大小,所以sizeof(b)是10。
第2个输出是5
20。strlen函数是计算字符串的长度,字符串以'\0'表示结束,所以strlen在遇到hello后面的'\0'时就会返回。sizeof跟第1个问题一样。
这个字符串长度为10个字符。
可以用strlen("ab'1'\\\12803")来求这个字符串的长度。
也可以用sizeof("ab'1'\\\12803")来求,但是这个求出的结果是多了一个字符串结束符\0。
可以试着输出这个字符串看看是不是10个字符。
strlen()函数判断的字符串长度是以\0为结尾作为标志的。
当char m=new char[TOKEN_LENGTH]后,虽然为指针分配了地址,但是其指向的内容未被初始化,所以m指向的内容是未知的,可能在第24个字符的位置发现了\0所以strlen()显示长度为24。
数据类型
字符串数据类型是建模在形式字符串的想法上的数据类型。字符串是几乎在所有编程语言中可以实现的非常重要和有用的数据类型。在某些语言中它们可作为基本类型获得,在另一些语言中做为复合类型获得。多数高级语言的语法允许通常用某种方式引用起来的字符串来表示字符串数据类型的实例;这种元字符串叫做“文本”或“字符串文本”。
百度百科-字符串
#include
<stringh>
size_t
strlen(
char
str
);
功能:函数返回字符串str
的长度(
即空值结束符之前字符数目)。
#include<iostream>
using namespace std;
int main()
{
int character(char a);
char a[20];
int length;
cout<<"请输入一个字符串:"<<endl;
cin>>a;
length=character(a);
cout<<"字符串长度为:"<<length<<endl;
return 0;
}
扩展资料:
return用法:
在C++的关键字,它提供了终止函数执行的一种方式。当return语句提供了一个值时,这个值就成为函数的返回值
1、C
在C89中,main()是可以接受的。Brian WKernighan和Dennis MRitchie的经典巨著The C programming Language 2e(《C程序设计语言第二版》)用的就是main()。不过在最新的C99标准中,只有以下两种定义方式是正确的:
int main(void)
int main(int argc,charargv[])
当然,我也可以做一点小小的改动。例如:charargv[]可以写成charargv;argv和argc可以改成别的变量名(如intval和charval),不过一定要符合变量的命名规则。
如果不需要从命令行中获取参数,请用int main(void);否则请用int main(int argc,charargv[])。
main函数的返回值类型必须是int,这样返回值才能传递给程序的激活者(如 *** 作系统)。
如果main函数的最后没有写return语句的话,C99规定编译器要自动在生成的目标文件中(如exe文件)加入return 0;,表示程序正常退出。不过,我还是建议你最好在main函数的最后加上return语句,虽然没有这个必要,但这是一个好的习惯。
注意,vc6不会在目标文件中加入return 0;,大概是因为vc6是98年的产品,所以才不支持这个特性。现在明白我为什么建议你最好加上return语句了吧!不过,gcc32(Linux下的C编译器)会在生成的目标文件中加入return 0;。
2、C++
C++98中定义了如下两种main函数的定义方式:
int main()
int main(int argc,charargv[])
int main()等同于C99中的int main(void);int main(int argc,charargv[])的用法也和C99中定义的一样。同样,main函数的返回值类型也必须是int。
如果main函数的末尾没写return语句,C++98规定编译器要自动在生成的目标文件中加入return 0;。同样,vc6也不支持这个特性,但是g++32(Linux下的C++编译器)支持。
参考资料:
百度百科——return
string str="welcome to chaina!";
int m1=strsize();//求字符串长度或者下面的
int m2=strlength(); //同上面size功能一样,都是求字符串长度的
我的方法和楼上的大同小异用指针法:#include "stdioh"\x0d\void main()\x0d\{char str[128];
char p;
int count=0;
p=str;
gets(str);
while(p++!='\0')
count++;
printf("%d",count);
}非指针法(这个方法是调用系统函数,比之自己写的函数简单明了):#include "stdioh"\x0d\#include "stringh"\x0d\void main()\x0d\{char str[128];
gets(str);
printf("%d",strlen(str));
}
以上就是关于C语言中如何判断字符长度全部的内容,包括:C语言中如何判断字符长度、C语言哪个函数可以测定字符串的长度、c语言字符串长度有哪些等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)