| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 910 人关注过本帖
标题:同样做函数,差距咋这么大呢 <本来以为自己能解决的,有些高估自己了> ...
取消只看楼主 加入收藏
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
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
以下是引用XuMM_12在2012-12-3 20:53:43的发言:

#include  
 
//函数功能把十进制转换成二进制
//函数第2个参数在主函数中分配内存,定义一个全0数组即可
int i=0;
void dec2bin(int source,char* bin)
{
    if(source==0) return;
    dec2bin(source/2,bin);
    bin=(char)(source%2+0x30);
    i++;
}
//函数功能把十进制转换成二进制
//函数第2个参数在主函数中分配内存,定义一个全0数组即可
//这个函数是个错误函数,可是不知道哪里错了
void _dec2bin(int source,char* bin)
{
    if(source==0) return;
    _dec2bin(source/2,bin+1);//改这里~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ,然后再加个倒序排列就可以了
    *bin=(char)(source%2+0x30);
}
int main()
{
    char source[20];
    for(int i=0;i<20;i++) source='\0';
    dec2bin(24,source);
    printf("注意这里能得到正确的字串24(10)=%s(2)\n",source);
    for(i=0;i<20;i++) source='\0';
    _dec2bin(24,source);
    printf("提示: 这里无法得到正确的字串24(10)=%s(2)\n",source);
    return 0;
}
 
/*
  实验结果:
  D:\c_source\t1\Debug>t1
  注意这里能得到正确的字串     24(10)=11000(2)
  提示: 这里无法得到正确的字串24(10)=0(2)
 
*/
 
唉,难道就没办法了吗  这样是逆序了  然后再正序过来 把原来的简单的函数 变得复杂起来
还是第一种好啊

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



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

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