| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- /*
- * 示例12:字符串(Strings)
- * 功能:学习使用字符数组表示字符串,以及常用的字符串操作
- */
- #include <stdio.h>
- #include <string.h> // 字符串处理函数所在的头文件
- int main() {
- // 字符串本质上是字符数组,以 '\0'(空字符)结尾
- char name[] = "张三"; // 自动在末尾添加 '\0'
- printf("姓名:%s\n", name);
- // 字符串的长度(不包括结尾的 '\0')
- int len = strlen(name);
- printf("姓名的长度:%d\n", len);
- // 字符串拼接
- char firstName[] = "张";
- char lastName[] = "三";
- char fullName[20]; // 预留足够的空间
- // strcpy 复制字符串
- strcpy(fullName, firstName);
- // strcat 拼接字符串
- strcat(fullName, lastName);
- printf("拼接后的姓名:%s\n", fullName);
- // 字符串比较
- char str1[] = "hello";
- char str2[] = "hello";
- char str3[] = "world";
- // strcmp 返回 0 表示相等
- if (strcmp(str1, str2) == 0) {
- printf("str1 和 str2 相等\n");
- }
- if (strcmp(str1, str3) != 0) {
- printf("str1 和 str3 不相等\n");
- }
- // 逐个字符访问字符串
- printf("\n=== 逐个字符输出 ===\n");
- char word[] = "C语言";
- for (int i = 0; word[i] != '\0'; i++) {
- printf("字符 %d:%c\n", i, word[i]);
- }
- return 0;
- }
|