C语言如何知道数组字符个数:strlen函数、sizeof运算符、手动遍历。在C语言中,有多种方法可以用来确定数组中的字符个数,其中最常用的方法是使用strlen
函数。strlen
函数用于计算字符串的长度,但不包括字符串的终止空字符。接下来,我们详细探讨如何使用不同方法来计算数组中的字符个数。
一、使用strlen
函数
strlen
是C标准库中的一个函数,专门用于计算字符串的长度。它的定义在<string.h>
头文件中。strlen
函数只适用于以空字符结尾的字符数组。
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello, World!";
int length = strlen(str);
printf("The length of the string is: %dn", length);
return 0;
}
在这个例子中,strlen
函数将计算字符串"Hello, World!"的长度,并返回结果12,因为它不包括终止空字符。
二、使用sizeof
运算符
sizeof
运算符返回数组的总字节数。对于字符数组,除以sizeof(char)
(即1)即可得到字符的总个数。然而,这种方法也包括终止空字符。
#include <stdio.h>
int main() {
char str[] = "Hello, World!";
int length = sizeof(str) / sizeof(char);
printf("The size of the array is: %dn", length);
return 0;
}
在这个例子中,sizeof(str)
返回14,因为它包括终止空字符。因此,数组的总长度是14。
三、手动遍历数组
有时候,我们可能需要在字符数组中计算特定字符的个数,或者不包括终止空字符的长度。这时,我们可以手动遍历数组。
#include <stdio.h>
int main() {
char str[] = "Hello, World!";
int length = 0;
for(int i = 0; str[i] != '