a[
5 ]
=
{
'a', 'b',
'c',
'd',
'\0'
}
这个数组5个元素,最后一个就是存储它了。只是你输出看不到而已!
\0(ascii 0) 字符串结束标志,只要字符串数组大小够大,编译器会自动加上。如果在给数组赋值时,把每个字符单独用引号括起来。也会丢失'\0'。如:
u8 str1[]={'c','x','j','r','.','2','1','i','c','.','o','r','g'}
一般来说只是在内存中存在,输出时不会显示,没见到你的输出语句,无法判断
1、在C语言中,可以通过库函数strlen来计算字符串的长度,也可以通过循环计数来求取字符串长度。函数原型:unsigned
int
strlen(char
*str)
功
能:统计字符串str中字符的个数,不包含'\0'
返
回
值:返回字符个数
2、用strlen函数实现:
char str[20]
int len // 保存数组的长度
scanf("%s", str)
len = strlen(str) // 计算字符数组str的长度
注:需将头文件#include<string.h>添加进源文件中。3、用循环来实现:
char str[20]
int len=0 // 保存数组的长度
scanf("%s", str)
while(str[len] != '\0') // 未检测到结束字符
{
len++ // 统计字符数组str的长度
}