2、对两个数组a和b进行如下初始化
char a[]=“ABCDEF”; char b[]={ ‘A’,’B’,’C’,’D’,’E’,’F’};
数组长度如何判断?
#include<stdio.h>
#include<string.h>
int main(int argc, const char *argv[])
{
char a[]="ABCDEF";
char b[]={ 'A','B','C','D','E','F'};
int i = 0, j = 0;
int len_i,len_j;
i = sizeof(a);
len_i = strlen(a);
j = sizeof(b);
len_j = strlen(b);
printf("i = %d;len_i = %d\n",i,len_i);
printf("j = %d;len_j = %d\n",j,len_j);
return 0;
}
/***********************************************************
测试结果:
i = 7;len_i = 6
j = 6;len_j = 6
说明:sizeof(a)测出来要多一个‘\0’.
sizeof()返回的是变量声明后所占的内存数,不是实际长度,此外sizeof不是函数,仅仅是一个取字节运算符,strlen是函数。
strlen()计算给定字符串的长度,不包括'\0'在内.
*************************************************************/