C语言如何使得一个字符串左右颠倒
时间: 2024-02-13 07:05:49 浏览: 26
可以使用C语言中的指针来实现字符串的左右颠倒。具体步骤如下:
1. 定义一个指向字符的指针,指向字符串的开头;
2. 定义一个指向字符的指针,指向字符串的结尾;
3. 交换指针所指向的字符,指针向中间移动,重复此操作直到两个指针相遇。
下面是实现代码:
```
#include <stdio.h>
#include <string.h>
void reverse_string(char *str) {
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);
return 0;
}
```
输出结果为:
```
Original string: Hello, world!
Reversed string: !dlrow ,olleH
```
相关问题
C语言将一个字符串颠倒
可以使用一个循环遍历字符串,同时维护两个指针,分别指向字符串的开头和结尾,交换它们所指向的字符,直到两个指针相遇。
下面是一段示例代码:
```c
#include <stdio.h>
#include <string.h>
void reverse_string(char* str) {
int len = strlen(str);
for (int i = 0; i < len / 2; i++) {
char temp = str[i];
str[i] = str[len - i - 1];
str[len - i - 1] = temp;
}
}
int main() {
char str[] = "Hello, world!";
printf("Original string: %s\n", str);
reverse_string(str);
printf("Reversed string: %s\n", str);
return 0;
}
```
输出结果为:
```
Original string: Hello, world!
Reversed string: !dlrow ,olleH
```
将一个字符串颠倒后输出C语言
以下是将一个字符串颠倒后输出的 C 语言代码:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char string[100];
printf("请输入字符串:");
scanf("%s", string);
int len = strlen(string);
char reverse_string[len+1];
// 将字符串颠倒
for(int i = 0; i < len; i++)
{
reverse_string[i] = string[len-1-i];
}
reverse_string[len] = '\0';
printf("颠倒后输出的字符串为:%s", reverse_string);
return 0;
}
```
输入示例:hello world
输出示例:dlrow olleh