指针按字节逆序c语言,输入字符数组a中一串字符,按照逆序复制到字符数组b中。 用指针做,应该怎么做呢?C语言编程。...

输入字符数组a中一串字符,按照逆序复制到字符数组b中。 用指针做,应该怎么做呢?C语言编程。

答案:4  信息版本:手机版

解决时间 2019-10-05 14:03

已解决

2019-10-05 10:17

输入字符数组a中一串字符,按照逆序复制到字符数组b中。 用指针做,应该怎么做呢?C语言编程。

最佳答案

2019-10-05 11:04

void main(void)

{

char src[100]={0};

char dst[100]={0};

char len=0;

char *p=src;

char i,j=0;

printf("please input src string:");

gets(src);

len=strlen(src);

for(i=len-1;i>=0;i--)

{

dst[j]=p[i];

j++;

}

printf("dst:%s\n",dst);

}

out put:

please input src string:abcde

dst:edcba

Press any key to continue

全部回答

1楼

2019-10-05 14:35

#include

int main()

{

char a[123], *p = a;

gets(a);

while(*p) ++p;

while(p > a) putchar(*--p);

}

while(*p) ++p; 这里是 只要*p 的值不为0,让p自加。指向a的末尾。

为避免错误最好写成 while(p&&*p) 例如输入"abc"那么 从a开始 就p+1 到\0的时候是p+4;

然后while(p > a) 这里比较p和a的地址  因为a的地址给到了p所以之前地址相同 但是前面p有自加。

--p   就从p+4-1开始 从后往前输出

* 在定义的时候是指针 在后面都是 取值的作用。兄弟 不采纳 就过分了。。

2楼

2019-10-05 13:03

#include

//将sour的len长度的字符逆序复制到dest, 必须保证dest的长度不小于len

void F(char *sour, int len, char *dest)

{

int i = 0;

for ( ; i dest[len-1-i] = sour[i];

}

int main()

{

char sour[1000];

char dest[1000];

scanf("%s", sour);

F(sour, strlen(sour), dest);

dest[strlen(sour)] = '\0';

printf("%s\n", dest);

return 0;

}

3楼

2019-10-05 12:03

#include

#include

#define BUFFER 100

int main()

{

char a[BUFFER]={0};

char b[BUFFER]={0};

char *ptr;

int i;

ptr = b;

printf("Please input :\n");

gets(a);

i = strlen(a);

while(i>0)

{

*ptr++ = *(a+i--);

}

*ptr = '\0';

return 0;

}

我要举报

如果感觉以上信息为低俗/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!

大家都在看

推荐资讯

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值