| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 910 人关注过本帖
标题:同样做函数,差距咋这么大呢 <本来以为自己能解决的,有些高估自己了> ...
只看楼主 加入收藏
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:7 
bin++;
bin是形参,自加根本没起作用

总有那身价贱的人给作业贴回复完整的代码
2012-12-03 19:25
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
  那只能用第一种方法吗 用指针不行吗

DO IT YOURSELF !
2012-12-03 19:26
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
手机上的,你试一下,我没验过
void_dec2bin(intsource,char* bin)
{
    if(source==0)return;
    _dec2bin(source/2,bin++);
    *bin=(char)(source%2+0x30);   
}

总有那身价贱的人给作业贴回复完整的代码
2012-12-03 19:29
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
以下是引用embed_xuel在2012-12-3 19:29:38的发言:

手机上的,你试一下,我没验过
void_dec2bin(intsource,char* bin)
{
    if(source==0)return;
    _dec2bin(source/2,bin++);
    *bin=(char)(source%2+0x30);     
}
貌似这个我已经做过测试了  没用的

DO IT YOURSELF !
2012-12-03 19:31
神龙赖了
Rank: 10Rank: 10Rank: 10
来 自:萨塔星
等 级:青峰侠
威 望:2
帖 子:711
专家分:1788
注 册:2012-10-13
收藏
得分:0 
刚刚吃饭发的急
额,不行吗?
好吧,我承认我没看你的代码...
程序代码:
#include <stdio.h>

//函数功能把十进制转换成二进制
//函数第2个参数在主函数中分配内存,定义一个全0数组即可
int i_ju=0;
int j = 0;
void dec2bin(int source,char* bin)
{
    if(source==0) return;
    dec2bin(source/2,bin);
    bin[i_ju++]=(char)(source%2+0x30);
}
//函数功能把十进制转换成二进制
//函数第2个参数在主函数中分配内存,定义一个全0数组即可
//这个函数是个错误函数,可是不知道哪里错了
void _dec2bin(int source,char* bin)
{
    if(source==0) return;
    _dec2bin(source/2,bin);
    *(j+bin)=(char)(source%2+0x30);
    j++;
}
int main()
{
    char source[20];
    int i = 0;

    for(i=0;i<20;i++) source[i]='\0';
    dec2bin(24,source);
    printf("注意这里能得到正确的字串24(10)=%s(2)\n",source);
    for(i=0;i<20;i++) source[i]='\0';
    _dec2bin(24,source);
    printf("提示: 这里无法得到正确的字串24(10)=%s(2)\n",source);
    return 0;
}


我试过了,可以了

I have not failed completely
2012-12-03 20:02
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
那就没意义了  还不如用第一种呢
主要就是不想用再增加变量

DO IT YOURSELF !
2012-12-03 20:05
神龙赖了
Rank: 10Rank: 10Rank: 10
来 自:萨塔星
等 级:青峰侠
威 望:2
帖 子:711
专家分:1788
注 册:2012-10-13
收藏
得分:0 
至于前面那个回答是我错了
因为这个函数没有返回值,所以跟踪运行可以发现
递归时不会在经过if语句,从函数的返回值开始一直到结尾。

I have not failed completely
2012-12-03 20:05
神龙赖了
Rank: 10Rank: 10Rank: 10
来 自:萨塔星
等 级:青峰侠
威 望:2
帖 子:711
专家分:1788
注 册:2012-10-13
收藏
得分:0 
回复 16楼 wp231957
那就只能用指针数组或着char指针来完成了
我真心觉得楼主对指针不太了解,其实指针移位的方法和数组本就差不多。

好吧看来得不到分了...

I have not failed completely
2012-12-03 20:10
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
以下是引用神龙赖了在2012-12-3 20:10:23的发言:

那就只能用指针数组或着char指针来完成了
我真心觉得楼主对指针不太了解,其实指针移位的方法和数组本就差不多。

好吧看来得不到分了...
呵呵,那道没关系,只要参与 都会分分的

DO IT YOURSELF !
2012-12-03 20:11
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
以下是引用神龙赖了在2012-12-3 20:10:23的发言:

那就只能用指针数组或着char指针来完成了
我真心觉得楼主对指针不太了解,其实指针移位的方法和数组本就差不多。

好吧看来得不到分了...
你说的很对 ,我最近阶段正在研究指针

DO IT YOURSELF !
2012-12-03 20:12
快速回复:同样做函数,差距咋这么大呢 <本来以为自己能解决的,有些高估自己了> ...
数据加载中...
 
   



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

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