5108|13

75

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

C51函数返回值的相关问题 [复制链接]

小弟现在有个小程序需要一个函数返回一个值,但是在返回值后函数还要进行一定的操作才能退出来,又不想用全局变量!

以前学VB的时候好像可以直接给函数赋值,c中好像不可以!哪位大哥帮帮忙!

例如:

sbit En = P1.3;

int fun(int a,int b,int c)
{
     En=0;
     return(a+b+c);
     En=1;
   
}
在上例中,值是返回去了,可是最后一句执行不了!

最新回复

LZ可以看看CALL FUNC的汇编语句。。。FUNC需要是个有传入参数,也有返回值的函数。这样看到里面的参数和返回值处理过程。。。  详情 回复 发表于 2010-1-14 22:35
点赞 关注

回复
举报

61

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
有没有这样的语句可以用呀?
fun=a+b+c;
En=1;
return();
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
int fun(int a,int b,int c)
{
    En=0;
    return(a+b+c);
   En=1;                 // 本条语句不会执行
   
}
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

4
 
在调用它的函数中执行
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

5
 
在返回值后函数还要进行一定的操作才能退出来。
返回了还要操作??
不明白。
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

6
 
你都返回了,肯定就退出程序了,下面的 En=1; 肯定不能执行了,呵呵
int fun(int a,int b,int c)
{
    En=0;
    return(a+b+c);
   
   
}  
void main()
{
fun(1,2,3);
En=1;
}
 
 
 

回复

53

帖子

0

TA的资源

一粒金砂(初级)

7
 
en=0;有什么用么??
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

8
 
你用什么编译器啊?居然不会警告?!
 
 
 

回复

57

帖子

0

TA的资源

一粒金砂(初级)

9
 
引用 7 楼 hgjinwei 的回复:
你用什么编译器啊?居然不会警告?!

我用Keil C试过了,是没有警告的~
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

10
 
函数return后的程序就不能执行了
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

11
 
这个是代码耦合的问题:

你可以在调用的时候
EA = 0;

CALL FUN;

EA = 1;

明白?
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

12
 
不懂,小弟初学C51哈,以前都用汇编!
大虾,多多指点!
在函数调用的时候,是怎么传递参数的呀?通过指定RAM吗?如何可以获取这个地址?
我是想通过这样的方法控制返回值,不知道可以不?
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(高级)

13
 
通过ram里的实参传给函数入口形参,至于你说的地址那好像是不确定的,但是这对程序结果无影响的
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

14
 
引用 11 楼 rufenguu 的回复:
不懂,小弟初学C51哈,以前都用汇编!
大虾,多多指点!
在函数调用的时候,是怎么传递参数的呀?通过指定RAM吗?如何可以获取这个地址?
我是想通过这样的方法控制返回值,不知道可以不?


LZ可以看看CALL FUNC的汇编语句。。。FUNC需要是个有传入参数,也有返回值的函数。这样看到里面的参数和返回值处理过程。。。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表