C语言实现字符串反转并打印出来
时间: 2024-04-14 08:08:20 浏览: 137
下面是一个使用C语言实现字符串反转并打印出来的示例代码:
```c
#include <stdio.h>
#include <string.h>
void reverse(char *str) {
int len = strlen(str);
for (int i = 0; i < len / 2; i++) {
char tmp = str[i];
str[i] = str[len - i - 1];
str[len - i - 1] = tmp;
}
}
int main() {
char str[] = "hello world";
printf("Original string: %s\n", str);
reverse(str);
printf("Reversed string: %s\n", str);
return 0;
}
```
在上面的代码中,我们定义了一个 `reverse` 函数来反转字符串。该函数使用了一个循环,通过交换字符串中的字符来实现反转。
在 `main` 函数中,我们首先打印出原始字符串,然后调用 `reverse` 函数来反转字符串,并打印出反转后的字符串。
当我们编译并运行上面的代码时,输出应该如下所示:
```
Original string: hello world
Reversed string: dlrow olleh
```
相关问题
c语言实现字符串反转函数
下面是一个使用C语言实现字符串反转函数的示例代码:
```c
#include <stdio.h>
#include <string.h>
void reverseString(char* str) {
int start = 0;
int end = strlen(str) - 1;
while (start < end) {
// 交换字符
char temp = str[start];
str[start] = str[end];
str[end] = temp;
// 更新指针位置
start++;
end--;
}
}
int main() {
char str[] = "Hello, World!";
printf("原始字符串: %s\n", str);
reverseString(str);
printf("反转后的字符串: %s\n", str);
return 0;
}
```
这段代码定义了一个`reverseString`函数,该函数接受一个指向字符串的指针,并通过交换字符来实现字符串反转。在`main`函数中,我们使用示例字符串"Hello, World!"来测试该函数,并打印出反转后的字符串。运行代码会输出以下结果:
```
原始字符串: Hello, World!
反转后的字符串: !dlroW ,olleH
```
希望这个示例能够帮助到你!如果有任何疑问,请随时提问。
C语言用指针实现字符串反转
在C语言中,使用指针可以方便地实现字符串反转,因为指针可以直接操作内存地址。下面是一个简单的示例,利用两个指针,一个指向字符串的起始位置,另一个指向结束位置,然后交换它们所指向的字符,直到两个指针相遇或交错:
```c
#include <stdio.h>
#include <string.h>
void reverse(char* str) {
if (str == NULL || *str == '\0') return; // 避免除空字符串的情况
char* start = str;
char* end = str + strlen(str) - 1;
while (start < end) { // 当开始指针小于结束指针时循环
char temp = *start; // 临时存储开始处的字符
*start = *end; // 将结束处的字符放到开始处
*end = temp; // 将临时存储的字符放到结束处
start++; // 开始指针向后移动一位
end--; // 结束指针向前移动一位
}
}
int main() {
char str[] = "Hello, World!";
printf("Original string: %s\n", str);
reverse(str);
printf("Reversed string: %s\n", str); // 注意:这里不会改变原字符串,只是打印结果
return 0;
}
```
在这个例子中,`reverse()` 函数接收一个字符串指针作为参数,通过指针操作实现了字符串的反转,但是注意这种方法并不会改变原始字符串,因为它是在函数内部修改了指针指向的内容。
阅读全文