c-->字符串

c-->字符串

\0(数字)字符

字符串在结尾的位置隐藏 的一个\0的字符

\0是字符串的结束标志

#include <stdio.h>
int main(){

	char arr1[] = "abc";
	char arr2[] = { 'a', 'b', 'c' };
    char arr3[] = { 'a', 'b', 'c' ,'\0'};
	printf("123");
	printf("%s", arr1);//打印结果为abc
	printf("%s", arr2);//打印结果为abc+后续内存中的数据
	printf("%s", arr3);//因为手动添加了字符串的结束标志\0,所以打印结果为abc

}

char

只能存储一个字符,不能存储字符串;

需要存储字符串需要定义字符数组:

int main(){
int arr[]="qwe";
}

strlen()获取字符串的长度

注意!使用strlen方法的时候需要引入头文件#include <string.h>

strlen()会计算第一个字符到\0之间的字符的数量,但不会将字符串的结束字符\0算进来

#include <stdio.h>
#include <string.h>
int main(){

	char str[] = "string";
	int strnum=strlen(str);
	printf("%d", strnum);
}

另一种情况:

char arr2[] = { 'a', 'b', 'c' };

printf("%d\n", strlen(arr2));//打印结果为15

#include <stdio.h>
int main(){

	char arr1[] = "abc";
	char arr2[] = { 'a', 'b', 'c' };
	char arr3[] = { 'a', 'b', 'c', '\0' };

	printf("%d\n", strlen(arr1));//打印结果为3

	printf("%d\n", strlen(arr3));//打印结果为3
	printf("%d\n", strlen(arr2));//打印结果为15,
// arr2由于此数组中没有字符串结束符号\0所以strlen方法会在内存中继续计算字符串的数量z直达找到\0为止

}
posted @ 2022-01-04 14:05  programmer-lite  阅读(111)  评论(0编辑  收藏  举报