本文收集整理关于测量字符串长度的函数的相关议题,使用内容导航快速到达。
内容导航:
Q1:C语言中测试字符串长度的函数
你的if中的条件写的有问题,应改为
if(c>=a&&c<=zc>=A&&c<=Z)
这样说明只有你输入的是字母时,a的值才执行++操作。而你的条件c&&(a<=z&&A<=Z))后半部分(a<=z&&A<=Z))返回值永远都是真,因为a和A永远都比z和Z小呀。前半部分的c是你输入的值,如果不是输入了0对应的ascii码值48,那也永远是真,所以a条件总是成立,a总是++;结果当然就会不对了
Q2:strlen函数计算字符串长度
strlen()函数用来计算字符串的长度,其原型为: unsigned int strlen (char *s);
参数说明:s为指定的字符串。
strlen()用来计算指定的字符串s 的长度,不包括结束字符”\0”。
返回值:返回字符串s 的字符数。
注意一下字符数组,例如char str[100] = “http://see.xidian.edu.cn/cpp/u/biaozhunku/“; 定义了一个大小为100的字符数组,但是仅有开始的11个字符被初始化了,剩下的都是0,所以 sizeof(str) 等于100,strlen(str) 等于11。
如果字符的个数等于字符数组的大小,那么strlen()的返回值就无法确定了,例如char str[6] = “abcxyz”;
strlen(str)的返回值将是不确定的。因为str的结尾不是0,strlen()会继续向后检索,直到遇到’\0’,而这些区域的内容是不确定的。
扩展资料:注意事项
strlen() 函数计算的是字符串的实际长度,遇到第一个’\0’结束。如果你只定义没有给它赋初值,这个结果是不定的,它会从首地址一直找下去,直到遇到’\0’停止。
而sizeof返回的是变量声明后所占的内存数,不是实际长度,此外sizeof不是函数,仅仅是一个操作符,strlen()是函数。
函数示例:取得字符串的长度。
#include
#include
int main()
{char *str1 = "http://see.xidian.edu.cn/cpp/u/shipin/";
char str2[100] = "http://see.xidian.edu.cn/cpp/u/shipin_liming/";
char str3[5] = "12345";
printf("strlen(str1)=%d, sizeof(str1)=%d\n", strlen(str1), sizeof(str1));
printf("strlen(str2)=%d, sizeof(str2)=%d\n", strlen(str2), sizeof(str2));
printf("strlen(str3)=%d, sizeof(str3)=%d\n", strlen(str3), sizeof(str3));
return 0;}
Q3:求字符串长度函数是 。
#include
#include
int main(void)
{
char *s="Golden Global View";
printf("%s has %d chars",s,strlen(s));
getchar();
return 0;
}
strlen(char*)函数求的是字符串的实际长度,它求得方法是从开始到遇到第一个\0,如果你只定义没有给它赋初值,这个结果是不定的,它会从aa首地址一直找下去,直到遇到\0停止。
Q4:C语言哪个函数可以测定字符串的长度
用sizeof函数,得到字节大小,然后看这个数组什么类型的,比如double类型,一个就占16位,就是2字节,就算出来了。
c++直接有length函数,可以直接给出长度,c没有
满意请采纳,如有疑问请