C语言,利用指针编写程序:把从键盘输入的字符串逆序存放并输出
2个回答
展开全部
以下是C语言程序,使用指针将键盘输入的字符串逆序存放,并输出结果:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100], temp;
int len, i;
char *p1, *p2;
printf("请输入一个字符串:");
scanf("%s", str);
len = strlen(str);
p1 = str;
p2 = str + len - 1; // 指向字符串最后一个字符
for (i = 0; i < len/2; i++) {
temp = *p1;
*p1 = *p2;
*p2 = temp;
p1++;
p2--;
}
printf("逆序存放后的字符串为:%s", str);
return 0;
}
```
程序先从键盘输入一个字符串,然后获取字符串的长度和指向字符串首尾的指针。接着,使用指针交换相应位置上的字符,完成字符串逆序存放。最后输出逆序存放后的字符串。
注意,字符串的长度可能为奇数或偶数,因此在for循环中应该只交换字符串长度除以2个字符即可。
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100], temp;
int len, i;
char *p1, *p2;
printf("请输入一个字符串:");
scanf("%s", str);
len = strlen(str);
p1 = str;
p2 = str + len - 1; // 指向字符串最后一个字符
for (i = 0; i < len/2; i++) {
temp = *p1;
*p1 = *p2;
*p2 = temp;
p1++;
p2--;
}
printf("逆序存放后的字符串为:%s", str);
return 0;
}
```
程序先从键盘输入一个字符串,然后获取字符串的长度和指向字符串首尾的指针。接着,使用指针交换相应位置上的字符,完成字符串逆序存放。最后输出逆序存放后的字符串。
注意,字符串的长度可能为奇数或偶数,因此在for循环中应该只交换字符串长度除以2个字符即可。
展开全部
#include <stdio.h>
#include <string.h>
void reverse(char* str)
{
char* p = str + strlen(str)-1;
char temp;
while(str<p)
temp=*p, *p--=*str, *str++=temp;
}
void main()
{
char str[1000];
gets(str);
reverse(str);
printf("%s\n", str);
}
#include <string.h>
void reverse(char* str)
{
char* p = str + strlen(str)-1;
char temp;
while(str<p)
temp=*p, *p--=*str, *str++=temp;
}
void main()
{
char str[1000];
gets(str);
reverse(str);
printf("%s\n", str);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询