写一个字符串逆序代码,c语言
时间: 2024-12-18 07:23:53 浏览: 3
在C语言中,你可以使用两个指针,一个指向字符串的开始,另一个指向结束,然后交换它们所指向的字符,并向中间移动,直到它们相遇。这是一个简单的例子:
```c
#include <stdio.h>
#include <string.h> // 引入字符串库,以便使用strlen函数
void reverse_string(char *str) {
if (str == NULL || strlen(str) <= 1) {
printf("Invalid input or empty string.\n");
return;
}
char start = *str;
char end = *(str + strlen(str) - 1); // 获取字符串最后一个字符的指针
while (start != end) { // 当起始位置小于结束位置时继续
char temp = start; // 临时保存开始字符
start = end; // 将开始移到结束
end = temp; // 将结束移到原开始字符的位置
start++; // 开始向右移动
end--; // 结束向左移动
str[strlen(str) - 1] = start; // 更新反转后的字符串
str[strcspn(str, "\0")] = '\0'; // 确保字符串以空字符结尾
}
}
int main() {
char str[] = "Hello, World!";
printf("Original string: %s\n", str);
reverse_string(str);
printf("Reversed string: %s\n", str);
return 0;
}
```
这个程序会打印原始字符串和逆序后的字符串。注意,`strlen()` 函数用于获取字符串长度,`\0` 表示字符串的结束。
阅读全文