在C语言中,没有类似Java的String类对字符串的处理,字符串的包装可以采用字符数组。
先看字符数组:
#include<stdio.h>
void main() {
char array[] = {'a','b','c'};
int str = sizeof(array)/sizeof(char);
printf("%d",str);
}
此时的输出结果为:3,即字符数组的长度为3.
下面我们用字符串初始化字符数组,代码如下。
#include<stdio.h> void main() { char array[] = "abc"; int str = sizeof(array)/sizeof(char); printf("%d",str); }
此时的输出结果为:4. 但是如果用系统带的strlen()函数,则输出结果为3.
两段代码结果分析:在C语言编译器里面,字符串是默认以' '为结束的。数组的长度必须比字符串的元素个数多一个,用以存放' '.
关于字符串输入输出的几个操作函数:
1.输出函数:char a[] ="abcd";printf("%s",a);
2.输入函数:char a[10];scanf("%s",a);
3.输入函数:gets(str);----- char a[10];gets(a);
4.输出函数:puts(str);-----char a[]="abcd";puts(a);
总结:都是识别到了字符串的首地址,即数组名,即可进行操作。