判断是否为回文字符串
bool judge(char* str) { if (str == NULL) return false; int len = strlen(str); // 空字符串时 len=0 // len=0 时循环条件 i<j → 0<-1 不成立,直接返回 true for (int i=0, j=len-1; i<j; i++, j--) { if (str[i] != str[j]) return false; } return true; // 空字符串返回 true }
📊 字符串长度对比:
⚠️ 重要区别:
- strlen():逻辑长度(不包含 \0),空字符串为 0
- sizeof():物理内存大小(包含 \0),空字符串为 1