#include<string.h>
接着,我们输入程序,请求用户输入字符串,再计算字符串的长度。
运行程序,检测没有错误后,点击右上方的"!",执行程序。
程序执行结果如图所示,我们任意输入一个字符串。
按enter键,如图所示,系统就计算出了字符串的长度。
这个字符串长度为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 "stdio.h"\x0d\x0avoid main()\x0d\x0a{char str[128]char * p
int count=0
p=str
gets(str)
while(*p++!='\0')
count++
printf("%d",count)
}非指针法(这个方法是调用系统函数,比之自己写的函数简单明了):#include "stdio.h"\x0d\x0a#include "string.h"\x0d\x0avoid main()\x0d\x0a{char str[128]
gets(str)
printf("%d",strlen(str))
}