#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
int main()
{
char arr[] = { 'b','i','t' };
printf("%d\n", strlen(arr));
return 0;
}
输出的结果是:随机数(没有结束符号\0)
改进方法:
第一种:范围大于输入的字符数量,即不完全初始化,使得剩余部分默认初始化为0
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
int main()
{
char arr[4] = { 'b','i','t' };
printf("%d\n", strlen(arr));
return 0;
}
第二种:主动加上结束符\0
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
int main()
{
char arr[] = { 'b','i','t','\0'};
printf("%d\n", strlen(arr));
return 0;
}