| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 465 人关注过本帖
标题:我怎么觉得是这个应该倒序输出的 ???谁能解一下
只看楼主 加入收藏
cquwt
Rank: 1
等 级:新手上路
帖 子:41
专家分:2
注 册:2013-12-24
结帖率:69.23%
收藏
已结贴  问题点数:2 回复次数:4 
我怎么觉得是这个应该倒序输出的 ???谁能解一下
程序代码:
#include<stdio.h>
#include<string.h>
int fun(char *w,int n){
    char t,*s1=w,*s2=w+n-1;
    while(s1<s2){
        t=*s1++;
        *s1=*s2--;
        *s2=t;
    }
}
main(){
    char p[]="1234567";
    fun(p,strlen(p));
    puts(p); 
}

图片附件: 游客没有浏览图片的权限,请 登录注册


这个结果是怎么来的呢 我推不来 我怎么觉得是应该倒序输出的
2014-08-29 18:03
wssy213
Rank: 12Rank: 12Rank: 12
来 自:湖南
等 级:贵宾
威 望:10
帖 子:967
专家分:3703
注 册:2014-6-6
收藏
得分:0 
怎么会推不来呢?给出你的推理过程

坚持----------------------------------唯一的道路
shit ! ! !
2014-08-29 19:02
ditg
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:16
帖 子:852
专家分:1937
注 册:2014-4-10
收藏
得分:0 
函数定义int fun(char *w,int n),没有返回值么?

梦想拥有一台龙芯3A-4000
2014-08-29 19:35
bccn250
Rank: 5Rank: 5
等 级:职业侠客
帖 子:154
专家分:379
注 册:2010-5-25
收藏
得分:2 
函数初始化 s1 指向 [0] , s2 指向 [6] *s1=='1',*s2=='7'
s1<s2成立
t=*s1++;    \\t保存[0]内容'1'    s1指向 [1]
*s1=*s2--;    \\*s1保存'7'    即 [1]='7',s2指向 [5]
*s2=t;        \\*s2保存'1'    即 [5]='1'

第一次完 p[]保存内容为"1734517", s1 指向 [1],  s2 指向 [5]  *s1=='7',*s2=='1'

s1<s2成立
t=*s1++    \\t保存[1]内容'7'    s1指向 [2]
*s1=*s2--;    \\*s1保存'1'    即 [2]='1',s2指向 [4]
*s2=t;        \\*s2保存'7'    即 [4]='7'

第二次完 p[]保存内容为"1714717", s1 指向 [2],  s2 指向 [4]  *s1=='1',*s2=='7'

s1<s2成立
t=*s1++    \\t保存[2]内容'1'    s1指向 [3]
*s1=*s2--;    \\*s1保存'7'    即 [3]='7',s2指向 [3]
*s2=t;        \\*s2保存'1'    即 [3]='1'

第三次完 p[]保存内容为"1711717", s1 指向 [3],  s2 指向 [3]  *s1=='1',*s2=='1'

s1<s2不成立

把s1++和s2--专门放在循环尾部做,好像就正常了

写得自己都晕了,又重新编辑了好几次,现在经自己审查无误,已经是最终编辑版本


[ 本帖最后由 bccn250 于 2014-8-29 20:52 编辑 ]
2014-08-29 20:27
cquwt
Rank: 1
等 级:新手上路
帖 子:41
专家分:2
注 册:2013-12-24
收藏
得分:0 
回复 4 楼 bccn250
很清楚 ,非常谢谢,,,
2014-08-29 21:14
快速回复:我怎么觉得是这个应该倒序输出的 ???谁能解一下
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018746 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved