1、字符串反序(指针方式) 【编程挑战】利用指针,将输入的字符串反序输出。 【输入】一行不含空格的字符串(长度<=50) 【输出】逆序后的字符串 【输入样例】ABCDEFGHIJK 【输出样例】KJIHGFEDCBA
时间: 2024-10-10 13:05:46 浏览: 26
C++输入一个字符串,把其中的字符按照逆序输出的两种方法解析
【解答】在指针的方式下,可以使用两个指针,一个指向字符串开始,另一个指向结束。然后通过交换这两个指针所指向的字符,逐次向中间移动,直到它们相遇。以下是用C语言实现的一个简单示例:
```c
#include <stdio.h>
#include <string.h>
void reverse(char* str) {
char* start = str; // 指向字符串开始
char* end = str + strlen(str) - 1; // 指向字符串结尾
while (start < end) { // 当开始指针小于结束指针时
char temp = *start; // 临时存储开始处的字符
*start = *end; // 开始处的字符替换为结束处的字符
*end = temp; // 结束处的字符替换为临时存储的字符
start++; // 移动开始指针
end--; // 移动结束指针
}
}
int main() {
char input[] = "ABCDEFGHIJK";
printf("输入样例:%s\n", input);
reverse(input);
printf("输出样例:%s\n", input); // 输出:KJIHGFEDCBA
return 0;
}
```
在这个例子中,`reverse`函数接受一个字符串指针作为参数,然后通过指针操作实现了字符串的反转。
阅读全文