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、首先打开vc6.0, 新建一个项目。

2、添加头文件。

3、添态镇加main函数。

4、定义x, y, z, t。

5、使用scanf给定义的变量赋值。灶闭大

6、使用printf输入。

7、运行程序,可以看到输入的3个字符串,比较它们的大小,并将它们按由小隐竖到大的顺序输出。

#include<stdio.h>

#define N 5

#define M 5

void f(int a[][M],int n,int m,int *s) { int i,j

  for ( i=0i<ni++,s++ ) {

    *s=a[i][0] for ( j=1j<mj++ ) if ( *s<a[i][j] ) 则锋和*s=a[i][j]

  }

}

void main() { int a[N][M],s[N],i,j

  for ( i=0i<Ni++ ) for ( j=0j<Mj++ ) scanf("%d"孙盯,&a[i][j])

  f(a,N,M,s)

  基薯for ( i=0i<Ni++ ) printf("%d\n",s[i])

}


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存