12_strings.c 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /*
  2. * 示例12:字符串(Strings)
  3. * 功能:学习使用字符数组表示字符串,以及常用的字符串操作
  4. */
  5. #include <stdio.h>
  6. #include <string.h> // 字符串处理函数所在的头文件
  7. int main() {
  8. // 字符串本质上是字符数组,以 '\0'(空字符)结尾
  9. char name[] = "张三"; // 自动在末尾添加 '\0'
  10. printf("姓名:%s\n", name);
  11. // 字符串的长度(不包括结尾的 '\0')
  12. int len = strlen(name);
  13. printf("姓名的长度:%d\n", len);
  14. // 字符串拼接
  15. char firstName[] = "张";
  16. char lastName[] = "三";
  17. char fullName[20]; // 预留足够的空间
  18. // strcpy 复制字符串
  19. strcpy(fullName, firstName);
  20. // strcat 拼接字符串
  21. strcat(fullName, lastName);
  22. printf("拼接后的姓名:%s\n", fullName);
  23. // 字符串比较
  24. char str1[] = "hello";
  25. char str2[] = "hello";
  26. char str3[] = "world";
  27. // strcmp 返回 0 表示相等
  28. if (strcmp(str1, str2) == 0) {
  29. printf("str1 和 str2 相等\n");
  30. }
  31. if (strcmp(str1, str3) != 0) {
  32. printf("str1 和 str3 不相等\n");
  33. }
  34. // 逐个字符访问字符串
  35. printf("\n=== 逐个字符输出 ===\n");
  36. char word[] = "C语言";
  37. for (int i = 0; word[i] != '\0'; i++) {
  38. printf("字符 %d:%c\n", i, word[i]);
  39. }
  40. return 0;
  41. }