// 设计函数,接收一个字符串,返回这个字符串的逆向内容。 #include #include // 使用 strlen() 函数,获取字符串长度 void reverse(char *str); int main(void) { char str[] = "hello world"; reverse(str); printf("%s\n", str); return 0; } void reverse(char *str) // 传入的是指针,直接修改原字符串 { int len = strlen(str); // 获取字符串长度 // for (int i = 0; i < len / 2; i++) // 交换前后两个字符,使用二分法 for (int i = 0; i < len >> 1; i++) // len >> 1 相当于 len / 2 { // char temp = str[i]; // str[i] = str[len - 1 - i]; // str[len - 1 - i] = temp; // 交换前后两个字符,使用异或法 str[i] ^= str[len - 1 - i]; str[len - 1 - i] ^= str[i]; str[i] ^= str[len - 1 - i]; } }