C语言,利用指针编写程序:把从键盘输入的字符串逆序存放并输出

C语言,利用指针编写程序:把从键盘输入的字符串逆序存放并输出,第1张

以下是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 = 0i <len/2i++) {

temp = *p1

*p1 = *p2

*p2 = temp

p1++

p2--

}

printf("逆序存放后的字符串为:%s", str)

return 0

}

```

程序先从键盘输入一个字符串,然后获取字符串的长度和指向字符串首尾的指针。接着,使用指针交换相应位置上的字符,完成字符串逆序存放。最后输出逆序存放后的字符串。

注意,字符串的长度可能为奇数或偶数,因此在for循环中应该只交换字符串长度除以2个字符即可。

1、其实头函数每个都需要用到的就是#include <stdio.h>,因为程序里面涉及到了输出和输入字符串以及字符。#include <string.h>。

2、其次就是要定义两个相同容量的字符串储存的变量 char a[100]  char b[100]。以及整数变量 int c  int i=0,j=0其中a[100]是存字符串的,b【100】是存你删除对应字符的字符串的,整数C是你想删除第几位。j ,i 是后面for循坏中要使用到的变量。

3、 printf("请输入你的字符串")  scanf("%s",a)  printf("请输入你想要删除第几位字符")  scanf("%d",&c)。

4、 for(i=0i<strlen(a)i++)  {       if(i+1!=c)       {        b[j]=a[i]        j++       }                  }          printf(" %s",b)        }  。

5、只要当i+1不等于c时把a【i】里面的字符赋给b【i】,那么这样当i+1=c时不把它赋给b【i】从而实现删除功能。

6、最后就给大家完整的看一下整体的一个代码流程。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8121007.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存