| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 442 人关注过本帖
标题:求解这个程序错误的原因?
只看楼主 加入收藏
苍天的蓝悠
Rank: 1
等 级:新手上路
帖 子:11
专家分:4
注 册:2015-7-23
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
求解这个程序错误的原因?
下列给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到低位的顺序相反的顺序组成一个新数,作为函数值返回。
注意:不得删行增行,不得改变程序结构!
图片附件: 游客没有浏览图片的权限,请 登录注册

而且我也无法理解if(*p)p++和if(*q)q++这个的用处何在?
望各位能帮我解解答,非常感谢。
搜索更多相关主题的帖子: 而且 
2015-07-24 17:12
jiangiew
Rank: 2
等 级:论坛游民
帖 子:8
专家分:65
注 册:2015-7-11
收藏
得分:20 
字符串在存储的时候是一个个的字符,指针p和q指向存储字符串的首元素地址,*p和*q指向里面的内容。if(*p)是指:*p如果非空,则p++,也就是指针p的所指向的地址向高位偏移1个字节,指向下一个字符。
2015-07-24 17:34
苍天的蓝悠
Rank: 1
等 级:新手上路
帖 子:11
专家分:4
注 册:2015-7-23
收藏
得分:0 
回复 2楼 jiangiew
恩,这个我理解了。
但是从上面if,else选择下来,只会是一个*p,或者是一个*q那么只会有一个是向后推一位,另一个是不动的?但是按照这样,这道例题的答案我推不出来。
ex:若主函数中a字符串为“aBCDeFgH”,b字符串为“ABcd”,我推算出c字符串是“aBCDeFgH"?
请帮我看看我是哪里理解错了吗?谢谢。
2015-07-25 13:45
jiangiew
Rank: 2
等 级:论坛游民
帖 子:8
专家分:65
注 册:2015-7-11
收藏
得分:0 
回复 3楼 苍天的蓝悠
代码的形式是这样:
while (*p != *q) {
        if (*p < *q) {
            c[k] = *q;
        } else{
            c[k] = *p;
        }
        if (*p) {
            p++;
        }
        if (*q) {
            q++;
        }
        k++;
    }
  三个if语句是都要进行判断的
2015-07-25 16:28
jiangiew
Rank: 2
等 级:论坛游民
帖 子:8
专家分:65
注 册:2015-7-11
收藏
得分:0 
回复 3楼 苍天的蓝悠
我的理解是:这个函数的功能是对两个字符串从第一位字符开始逐个进行比较,将较大的字符提取出来,组成一个新的字符串。如果a字符串为“aBCDeFgH”,b字符串为“ABcd”,那么结果就是“aBcdegH”。
2015-07-25 16:36
苍天的蓝悠
Rank: 1
等 级:新手上路
帖 子:11
专家分:4
注 册:2015-7-23
收藏
得分:0 
回复 5楼 jiangiew
嗯嗯,我了解了,谢谢你的解答!!
2015-07-25 21:59
快速回复:求解这个程序错误的原因?
数据加载中...
 
   



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

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