C语言将一个字符串中的字符逆序存放。如字符串为“abcde",则逆序存放后应为"edcba"。
时间: 2024-03-01 21:50:33 浏览: 166
可以使用指针来实现字符串中字符的逆序存放。具体的实现步骤如下:
1. 定义一个指向字符串的指针变量p和一个指向字符串末尾的指针变量q;
2. 使用while循环,将指针变量p和q所指向的字符交换,并将指针p向后移动一位,指针q向前移动一位,直到p>=q;
3. 最后将字符串首尾字符交换即可。
下面是C语言的代码实现:
```c
#include <stdio.h>
#include <string.h>
void reverse(char *str) {
char *p = str;
char *q = str + strlen(str) - 1;
while (p < q) {
char temp = *p;
*p = *q;
*q = temp;
p++;
q--;
}
}
int main() {
char str[] = "abcde";
printf("Before reverse: %s\n", str);
reverse(str);
printf("After reverse: %s\n", str);
return 0;
}
```
输出结果为:
```
Before reverse: abcde
After reverse: edcba
```
相关问题
C语言中将一个字符串中的字符逆序存放。如字符串为“abcde",则逆序存放后应为"edcba"
可以使用两个指针,一个指向字符串的开头,一个指向字符串的结尾,然后交换它们指向的字符,直到两个指针相遇。
以下是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
void reverse_string(char* str) {
int len = strlen(str);
char* start = str;
char* end = str + len - 1;
while (start < end) {
char temp = *start;
*start = *end;
*end = temp;
start++;
end--;
}
}
int main() {
char str[] = "abcde";
reverse_string(str);
printf("%s\n", str); // 输出 edcba
return 0;
}
```
c语言编程实现将一个字符串按逆序存放,填空后执行验证。
下面是一个实现将字符串按逆序存放的C语言程序:
```c
#include <stdio.h>
#include <string.h>
void reverse_string(char* str);
int main()
{
char str[100];
printf("请输入一个字符串:");
fgets(str, 100, stdin);
// 去掉换行符
str[strcspn(str, "\n")] = '\0';
reverse_string(str);
printf("按逆序存放后的字符串为:%s\n", str);
return 0;
}
void reverse_string(char* str)
{
int len = strlen(str);
int i, j;
char temp;
for (i = 0, j = len - 1; i < j; i++, j--)
{
temp = str[i];
str[i] = str[j];
str[j] = temp;
}
}
```
填空验证:
输入:hello world
输出:按逆序存放后的字符串为:dlrow olleh
阅读全文