| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 569 人关注过本帖
标题:关于返回值的问题?
只看楼主 加入收藏
燕大一狼
Rank: 2
等 级:论坛游民
帖 子:14
专家分:17
注 册:2009-10-3
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
关于返回值的问题?
unsigned long sector_long(unsigned char FileNum)
{  
  unsigned long a;  
  a=FileInfo[FileNum][17]*256+FileInfo[FileNum][16];  //文件的大小,一个具体的数(省略了一部分)
   if(a%512!=0)
     return (a/512+1);
  else
    return (a/512);
}
unsigned long wenjian_long(unsigned char FileNum)
{  
  unsigned long a;
   a=FileInfo[FileNum][17]*256+FileInfo[FileNum][16];  
     return a;
}                                    //如何合二为一,上面的2个的变量a都是一样的值,第二个只是为了返回a的值
  在主函数中,假如这样调用

{
   x=sector_long(1);
   y=wenjian_long(1);
}
如何将这两个函数合二为一,有办法吗?

[ 本帖最后由 燕大一狼 于 2009-11-17 13:27 编辑 ]
搜索更多相关主题的帖子: 返回值 
2009-11-17 13:20
lijm1989
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:珠海
等 级:贵宾
威 望:12
帖 子:675
专家分:2844
注 册:2009-10-14
收藏
得分:7 
2009-11-17 13:44
燕大一狼
Rank: 2
等 级:论坛游民
帖 子:14
专家分:17
注 册:2009-10-3
收藏
得分:0 
unsigned long data(unsigned char FileNum,unsigned char funtype)
{  
unsigned long a;  
  a=FileInfo[FileNum][17]*256+FileInfo[FileNum][16];   
 if(funtype==1) return a;

   if(a%512!=0)
     return (a/512+1);
  else
    return (a/512);
       //////////////主函数如下///////////////////////////
{
  sector_long=data(1,0);
  wenjian_long=data(1,1);
}
  应该是这样吗?
2009-11-17 14:00
lijm1989
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:珠海
等 级:贵宾
威 望:12
帖 子:675
专家分:2844
注 册:2009-10-14
收藏
得分:0 
LZ的方法可行···给个比较常用的方法的例子··仅供参考···

unsigned long data(unsigned char FileNum,unsigned long *x, unsigned long *y)
{  
    unsigned long a;  
    a=FileInfo[FileNum][17]*256+FileInfo[FileNum][16];   
    x = a;
/*---------查看下 ceil()函数的用法--------*/
    if(a%512!=0)
        y = a/512+1;
    else
        y = a/512;
}
       //////////////主函数如下///////////////////////////
{
    sector_long=data(1,0);
    wenjian_long=data(1,1);
    data(&sector_long, &wenjian_long)
}
2009-11-17 14:19
燕大一狼
Rank: 2
等 级:论坛游民
帖 子:14
专家分:17
注 册:2009-10-3
收藏
得分:0 
unsigned long data(unsigned char FileNum,unsigned long *x, unsigned long *y)
data(&sector_long, &wenjian_long)不太懂。。。
那data(1,0);data(1,1);里面的0和1是什么意思?是真假判定?


[ 本帖最后由 燕大一狼 于 2009-11-17 14:48 编辑 ]
2009-11-17 14:44
lhl198989
Rank: 2
等 级:论坛游民
帖 子:16
专家分:67
注 册:2009-9-12
收藏
得分:7 
两位的应该都是可行的,楼主的那个函数中的第二个参数应该是为了区别调用环境坲中的两个变量x和y的。
2009-11-17 16:28
lijm1989
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:珠海
等 级:贵宾
威 望:12
帖 子:675
专家分:2844
注 册:2009-10-14
收藏
得分:0 
不好意思··忘了删除了··更正后应该是:
程序代码:
void data(unsigned char FileNum,unsigned long *x, unsigned long *y)
{  
    unsigned long a;  
    a=FileInfo[FileNum][17]*256+FileInfo[FileNum][16];   
    *x = a;
/*---------查看下 ceil()函数的用法(*y=ceil(a/512))--------*/
    if(a%512!=0)
        *y = a/512+1;
    else 
        *y = a/512;
}
       //////////////主函数如下///////////////////////////
{
    data(&sector_long, &wenjian_long);
} 
LZ前面那个方法是可行的,但个人认为不建议使用.....
2009-11-17 16:35
快速回复:关于返回值的问题?
数据加载中...
 
   



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

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