c语言里指针的问题,求高人解答!

[复制链接]
查看11 | 回复4 | 2012-9-2 11:15:31 | 显示全部楼层 |阅读模式
#include #include void fun(char *w,int n){ char t,*s1,*s2;s1=w,s2=w+n-1;while(s1<s2) { t=*s1;*s1=*s2;*s2=t;//直接后自增自减,先修改了指针,交换的元素不正确了
s1++,s2--;}}void main(){ char *p,a[]="1234567"; //原来的字符串的地址赋给p,p所指的是字符串常量,不能修改其值,可读p=a;//使用分号结束,使用英文标点fun(p,strlen(p));puts(p);}...
回复

使用道具 举报

千问 | 2012-9-2 11:15:31 | 显示全部楼层
是从头到尾交换元素...
回复

使用道具 举报

千问 | 2012-9-2 11:15:31 | 显示全部楼层
字符串常量,不能修改其值...
回复

使用道具 举报

千问 | 2012-9-2 11:15:31 | 显示全部楼层
fun 的功能是将字符串旋转 答案是:7654321 关于算法,或者说是方法,其实就是函数返回值的问题。 通过指针操作隐含了fun函数的返回值(广义的)...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行