字符串(字符数组) 速览功能 1. 字符串输入3 种方法// 1. 不能读空格最常用 注意不用带 scanf(%s, str); // 2. 能读空格不安全老方法 gets(str); // 3. 能读空格 安全考试推荐 fgets(str, 100, stdin);2. 字符串输出2 种方法// 1. 不自动换行 printf(%s, str); // 2. 自动换行 puts(str);3. 求字符串长度strlen#include string.h int len strlen(str);4. 字符串复制strcpy不能用 赋值必须用 strcpy#include string.h strcpy(str1, str2); // 把 str2 复制到 str15. 字符串拼接strcat#include string.h strcat(str1, str2); // 把 str2 接到 str1 后面6. 字符串比较strcmp#include string.h if(strcmp(a,b) 0) // 相等 if(strcmp(a,b) 0) // a 比 b 大 if(strcmp(a,b) 0) // a 比 b 小7. 字符串逆序自己写int len strlen(str); for(int i0; ilen/2; i){ char temp str[i]; str[i] str[len-1-i]; str[len-1-i] temp; }8. 判断回文字符串int len strlen(str); int flag 1; for(int i0; ilen/2; i){ if(str[i] ! str[len-1-i]){ flag 0; break; } } // flag1 是回文9. 字符查找统计某个字符出现次数int count 0; for(int i0; str[i]!\0; i){ if(str[i] a) count; }10. 大写转小写 / 小写转大写// 小写 → 大写 str[i] - 32; // 大写 → 小写 str[i] 32;11. 字符串替换把某个字符全换掉for(int i0; str[i]!\0; i){ if(str[i] a) str[i] x; }12. 判断纯数字字符串int flag 1; for(int i0; str[i]!\0; i){ if(str[i]0 || str[i]9){ flag0; break; } }概括输入scanf/fgets输出printf/puts长度strlen复制strcpy拼接strcat比较strcmp逆序首尾交换回文对称比较查找遍历统计大小写±32替换遍历判断纯数字判断 ASCII 范围