C语言字符串详解
1. 什么是字符串
在C语言中,字符串是以字符数组的形式存储的,并且以空字符 \0
结尾。C语言标准库提供了多种操作字符串的函数。字符串的声明方式如下:
char str1[] = "Hello, World!";
char str2[20] = "Hello, C!";
char str3[20]; // 仅声明,还未赋值
2. 字符串输入与输出
C语言中可以使用 printf
和 scanf
函数来输出和输入字符串。
#include <stdio.h>
int main() {
char str[100];
printf("Enter a string: ");
scanf("%s", str); // 注意:scanf 只能读取不含空格的字符串
printf("You entered: %s\n", str);
return 0;
}
读取包含空格的字符串
如果需要读取包含空格的字符串,可以使用 gets
函数或 fgets
函数。
#include <stdio.h>
int main() {
char str[100];
printf("Enter a string: ");
fgets(str, sizeof(str), stdin); // fgets 可以读取包含空格的字符串
printf("You entered: %s\n", str);
return 0;
}
3. 字符串长度
使用 strlen
函数可以获取字符串的长度(不包括 \0
)。
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello, World!";
int length = strlen(str);
printf("Length of the string: %d\n", length);
return 0;
}
4. 字符串复制
使用 strcpy
函数可以将一个字符串复制到另一个字符串中。
#include <stdio.h>
#include <string.h>
int main() {
char src[] = "Hello, World!";
char dest[50];
strcpy(dest, src);
printf("Destination string: %s\n", dest);
return 0;
}