请用C语言编写如下程序:利用指针实现从键盘输入一串字符,串,将此字符串倒置
时间: 2023-06-16 09:06:24 浏览: 192
下面是利用指针实现字符串倒置的C语言程序:
```c
#include <stdio.h>
#include <string.h>
void reverse(char *str) {
int len = strlen(str);
char *p = str, *q = str + len - 1;
while (p < q) {
char temp = *p;
*p++ = *q;
*q-- = temp;
}
}
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
reverse(str);
printf("倒置后的字符串为:%s\n", str);
return 0;
}
```
在主函数中,首先定义一个字符数组 `str`,用于存放从键盘输入的字符串。然后调用 `reverse` 函数,将字符串倒置。最后输出倒置后的字符串。
在 `reverse` 函数中,首先使用 `strlen` 函数获取字符串的长度,并定义两个指针 `p` 和 `q`,分别指向字符串的首尾字符。然后使用循环,交换 `p` 和 `q` 指向的字符,直到 `p` 指向的字符超过了 `q` 指向的字符为止。
相关问题
用c语言编写一段程序,要求:利用指针实现由键盘任意输入一串字符,将此字符串倒置输出。
以下是用指针实现字符串倒置的C语言程序:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
char *p1, *p2;
int len;
printf("请输入一个字符串:");
scanf("%s", str);
len = strlen(str);
p1 = str;
p2 = str + len - 1;
while (p1 < p2) {
char tmp = *p1;
*p1 = *p2;
*p2 = tmp;
p1++;
p2--;
}
printf("倒置后的字符串为:%s\n", str);
return 0;
}
```
该程序首先读入一个字符串,然后使用指针 p1 和 p2 分别指向该字符串的首尾字符。接着,使用一个循环,将 p1 和 p2 所指向的字符逐个交换,直到 p1 >= p2 为止。最后输出倒置后的字符串。
利用指针实现由键盘任意输入一串字符,将此字符串倒置用C语言
可以使用指针和数组来实现字符串的倒置,具体实现步骤如下:
1. 定义一个字符数组存储输入的字符串,并使用scanf函数从键盘输入字符串。
2. 定义两个指针,一个指向字符串的开头,另一个指向字符串的末尾。
3. 使用while循环交换指针所指向的字符,直到两个指针相遇为止。
4. 输出倒置后的字符串。
下面是具体的代码实现:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
int len = strlen(str);
char *p1 = str;
char *p2 = str + len - 1;
while (p1 < p2)
{
char temp = *p1;
*p1 = *p2;
*p2 = temp;
p1++;
p2--;
}
printf("倒置后的字符串为:%s\n", str);
return 0;
}
```
阅读全文