用c语言将给定字符串进行反转
时间: 2024-12-20 15:31:15 浏览: 5
使用C语言提取子字符串及判断对称子字符串最大长度
在C语言中,你可以使用两个指针,一个指向字符串的起始位置,另一个指向字符串的结束位置,然后逐个交换字符,直到两个指针相遇。这里是一个简单的示例函数,用于反转一个字符串:
```c
#include <stdio.h>
#include <string.h>
void reverse_string(char *str) {
if (str == NULL || strlen(str) <= 1) { // 验证输入是否有效
return;
}
char *start = str; // 指向字符串起始位置
char *end = str + strlen(str) - 1; // 指向字符串结尾位置
while (start < end) { // 当起点小于终点时继续交换
char temp = *start; // 保存当前字符
*start++ = *end; // 将结尾字符移动到起点
*end-- = temp; // 将保存的字符移动到结尾
}
}
int main() {
char str[] = "Hello, World!";
printf("Original string: %s\n", str);
reverse_string(str);
printf("Reversed string: %s\n", str); // 注意这里的str不会改变地址,只是内容反了
return 0;
}
```
当你运行这个程序,原始字符串"Hello, World!"会被反转成 "!dlroW ,olleH"。
阅读全文