以下是C语言程序,使用指针将键盘输入的字符串逆序存放,并输出结果:
```c
#include
#include
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 temp=*p, *p--=*str, *str++=temp;
#include
void reverse(char* str)
{
char* p = str + strlen(str)-1;
char temp;
while(str
}
void main()
{
char str[1000];
gets(str);
reverse(str);
printf("%s\n", str);
}