js调用函数返回值的返回值到底有什么用,学了半个月我还是没懂

查看: 2551|回复: 4
我有时在表格里输入公式后,没有返回结果,表格里直接显示公式了,这是什么原因??
阅读权限10
在线时间 小时
我有时在表格里输入公式后,没有返回结果,表格里直接显示公式了,这是什么原因??
阅读权限30
在线时间 小时
设置单元格格式为常规——然后激活单元格(F2键)——ENTER
阅读权限100
在线时间 小时
本帖最后由 dengjq2000 于
15:34 编辑
在求助时,尽量上传相应的EXCEL附件。能通过手工做几个示例,这样更能方便他人理解与验证,你也就会更快捷得到解决问题的办法。
[新手必读]发帖须知、上传附件、截图动画、压缩解压、靓帖推荐:
两种情况的可能:
1、你该单元格格式设置了文本,则只需对单元格格式进行重置其“常规”即可;
2、是不是设置了“在单元格中显示公式而非其计算结果”,若设置了,只需把它取消即可。
阅读权限90
在线时间 小时
撸主的这种表格多半是从ERP等类似的系统里导出数据后出现的
阅读权限95
在线时间 小时
查找=,替换为=
最新热点 /1
ExcelHome每周都有线上直播公开课,
国内一流讲师真身分享,高手贴身答疑,
赶不上直播还能看录像,
关键居然是免费的!
厚木哥们都已经这么努力了,
你还好意思说学不好Office。
玩命加载中,请稍候
玩命加载中,请稍候
Powered by
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! & & 本站特聘法律顾问:徐怀玉律师 李志群律师函数的返回值到底有什么用,学了半个月我还是没懂。【c语言吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:534,593贴子:
函数的返回值到底有什么用,学了半个月我还是没懂。收藏
请看open,fopen,fread,malloc等函数的返回值的说明。
先不说编程,先说说数学上的函数 f(x)=x²+1显然f(3)=10,f(4)=17。这个10和17数学上叫做“函数值”,我们计算机行业叫做“返回值”。
楼上的 f(x)=x²+1 函数,编程写做int f( int x ){    return x * x + 1;}
这个还真是要自己去领悟咧其次就是你要知道return跟exit的区别
可以在主函数中引用被调用函数的返回值参与运算啊。比如利用scanf()函数的返回值检验是否输入正确。while(scanf("%d",&a)==1)或者打印被调用函数的返回值。(这是我在C语言吧里的经典C源程序100例找的。)#include &stdio.h&
int main(void) {
int fact();
for(i=0;i&5;i++)
 printf("\40:%d!=%d\n",i,fact(i)); //这里的fact(i)就是利用了函数的返回值 } int fact(j)
 sum=j*fact(j-1);
登录百度帐号推荐应用递归函数返回值的问题前几天写了个哈西表的程序,里面用到的递归。由于是看着书上的算法写的,虽然程序的功能实现了,可关于递归还是有些不懂。然后我回家敲些关于递归函数的程序,发现其中存在好奇妙的关系,下面是我的代码和编译后的截图,希望和大神交流一下经验。
  #include&stdio.h&
int&main()
&&&&&&&&int&digui(int&i);
&&&&&&&&int&i;
&&&&&&&&scanf("%d",&i);
&&&&&&&&i=digui(i);
&&&&&&&&printf("i=%d\n",i);
int&digui(int&i)
&&&&&&&&int&d=0;
&&&&&&&&d=i+1;
&&&&&&&&printf("d=%d\n",d);
&&&&&&&&if(d==10)
&&&&&&&&&&&&&&&&return(d);
&&&&&&&&else
&&&&&&&&&&&&&&&&i=digui(d);
//&&&&&&&&printf("i=%d&&&&i&is&address=%d\n",i,&i);&&&&&&&&&&#1
//&&&&&&&&return(i);&&&&&&&&&#2
当运行上面的程序时,结果是
这个我不大理解的是,在当d=10时,它返回d给上一层的i,可是当执行了“i=digui(d)”后,然后怎么搞呢?是编译器自己默认自己return吗?它把谁的值return呢?(根据编译结果知道是把i的值return是吧,可是问题在后面呢?)
在当我在递归函数后面加上“printf("i=%d&&&&i&is&address=%d\n",i,&i);&”这句代码时编译结果完全不同了,下面是截图:
当d=10时,它返回d给上一层的i,于是执行了“printf("i=%d&&&&i&is&address=%d\n",i,&i);&”这句代码,结果是i=10,然后就又是上一层的i了,又执行“printf("i=%d&&&&i&is&address=%d\n",i,&i);&”这句代码,可是结果是i=29。就这样直到栈的清空。为什么会出现这样的结果?多加了一句貌似与程序无关的代码,却使程序的结果发生了重大变化。
最后当我在程序的又加了句“return(i);&&&”这样使程序的结果又回到了以前我所预料到的情况。下面是截图:
这上面的问题我实在是搞不大懂,希望大神指点一下。
回答1:有那么复杂吗?把你不懂的说的尽可能简单一点
mushan1983
回答2:我问你个问题,比如这个函数  void&swap(int&a,int&b){
&&&&int&t=a;
int&main(){
&&&&swap(a,b);
你觉得主函数调用了swap(a,b)之后回到那里了?当然是main调用swap的地方咯
当然,如果你说的是你的函数是一个有返回值的函数,但是里面却没有返回语句的话,或者说只有一条在if语句中的return语句的话。那么这个函数仍然可以执行,但是如果在java或者C#就会有一个error就是没有所有路径都有返回值。也就是说C++允许这种写法,但是会返回什么值要看编译器的实现了,具体看一下汇编嘛,应该是某个寄存器的残留值。这个的确是不合理的,你的想法是对的。
mushanbinbin
回答3:发现前面一半和你的问题有点无关,算了...
回答4:给你看段,也就是函数返回值的问题:  i=digui(d);
00D63A96&&mov&&&&&&&&&eax,dword&ptr&[d]&&
00D63A99&&push&&&&&&&&eax&&
00D63A9A&&call&&&&&&&&digui&(0D61429h)&&
00D63A9F&&add&&&&&&&&&esp,4&&
00D63AA2&&mov&&&&&&&&&dword&ptr&[i],eax&//就是把eax的值写入i中从这里可以看出,return语句其实就是把需要return的值压入eax中,然后到调用的地方读取这个值。
因为printf本身也是一个函数调用嘛,所以你可以猜测下,调用了printf后eax的值改变了,应该是printf返回了一个值。写一句c=printf("i=%d\n&&&&i&is&address=%d\n",i,&i);
然后printf("%d\n",c);看看就知道了。结果可以看出,c的值就是你返回给i值。
我查了下,printf()的返回值就是打印的字符串长度,你可以去验证下。
mushan1983
回答5:引用:  谢谢指教!!
正是因为对c语言其中的不理解,现在正在自学《汇编语言》。
在我发这个帖子的时候我已经知道上面那个程序是存在问题的,因为函数在后面没有return,我只是没有明确上面那个递归函数是不是是自己默认返回一个值,返回是那个是随机取一个变量,还是与程序中的某些信息有关?
嗯,学一下汇编还是有好处的,很多问题都可以根据生成的汇编码来理解。不过有一个问题要注意下,汇编码本身是否是跟实现本身有关的?就是说换一个环境,汇编码就不同了?学语言不应该去遵循实现来学习,应该按照提供的标准来学习。至于里面的一些难点疑惑,可以结合汇编的形式来解决。
mushangpiaoxue
回答6:引用:  Quote: 引用:  Quote: 引用:  谢谢指教!!
正是因为对c语言其中的不理解,现在正在自学《汇编语言》。
在我发这个帖子的时候我已经知道上面那个程序是存在问题的,因为函数在后面没有return,我只是没有明确上面那个递归函数是不是是自己默认返回一个值,返回是那个是随机取一个变量,还是与程序中的某些信息有关?
嗯,学一下汇编还是有好处的,很多问题都可以根据生成的汇编码来理解。不过有一个问题要注意下,汇编码本身是否是跟实现本身有关的?就是说换一个环境,汇编码就不同了?学语言不应该去遵循实现来学习,应该按照提供的标准来学习。至于里面的一些难点疑惑,可以结合汇编的形式来解决。
我也是刚开始学汇编的,对于汇编的环境什么的不大懂。您上面说的“就是说换一个环境,汇编码就不同了”指的是pc机16位、32位、和64位的环境吗?《从零开始学Swift》学习笔记(Day 21)——函数返回值 - 简书
《从零开始学Swift》学习笔记(Day 21)——函数返回值
Swift 2.0学习笔记(Day 21)——函数返回值原创文章,欢迎转载。转载请注明:关东升的博客返回值3种形式:无返回值、单一返回值和多返回值。无返回值函数所谓无返回结果,事实上是Void类型,即表示没有数据的类型。无返回值函数的语法格式有如下3种形式:func 函数名(参数列表)
{语句组}func 函数名(参数列表) -&() {语句组}func 函数名(参数列表) -&Void {语句组}无返回值函数不需要“return返回值”语句。多返回值函数两种方式来实现。一种是在函数定义的时候,将函数的多个参数声明为引用类型传递,这样当函数调用结束时,这些参数的值就变化了。另一种是将返回定义为元组类型。介绍元组类型返回多值的实现。看一个示例:func position(dt: Double, speed:(x:Int, y:Int)) -& (x:Int, y:Int) {let posx:Int = speed.x * Int(dt)let posy:Int = speed.y * Int(dt)return (posx, posy)}let move = position(60.0, speed: (10, -5))print("物体位移:\(move.x) , \(move.y)")参数speed:(x:Int, y:Int)是元组类型。position函数的返回值是(x:Int, y:Int)的元组类型。代码调用函数,传递的时期间是60.0秒,速度是(10, ?5)。输出结果,结果如下:物体位移:600 , -300
国内著名iOS/Cocos技术作家,iOS技术顾问,Cocos最有价值专家(CVP),智捷课堂首席培训专家。担任51CTO社区iOS技术顾问。
著有多部移动开发畅销书:
《iOS网络编程与云端应用最佳实践》
《iOS传感器应用开发最佳实践》
《iOS图形图像、动画和多媒体编程技术最佳实践》
《品味移动设计》
《交互设计的艺术》
《Cocos2d-x实战:C++卷》
《Cocos2d-x实战:JS卷——Cocos2d-JS开发》
《Cocos2d-x实战:Lua卷》
《Cocos2d-x实战:工具卷》
《iOS开发指南 从零基础到App Store上架》第三版
《Swift开发指南》修订版
《iOS实战:传感器卷(Swift版)》
《iOS实战:图形图像、动画和多媒体卷(Swift版)》
《iOS实战:入门与提高卷(Swift版)》
《iOS实战:苹果“生态圈”编程卷(Swift版)》
《从零开始学Swift》等图书
精通iOS、Android和Windows及HTML5等移动开发技术。曾先后主持开发大型网络游戏《神农诀》的iOS和Android客户端开发,国家农产品追溯系统的iPad客户端开发,酒店预订系统的iOS客户端开发,金融系统的iOS、Windows及Android客户端开发。在AppStore上发布数款游戏和应用软件,擅长移动平台的应用和游戏类项目开发。长期为中国移动研究院、方正科技、大唐电信、中国石油、工商银行、南方航空、惠普、东软、NTT等企事业单位提供技术咨询及员工培训。
欢迎关注关东升新浪微博@tony_关东升。C语言学习常用函数_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
C语言学习常用函数
上传于|0|0|暂无简介
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩3页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢}

我要回帖

更多关于 函数返回值为引用 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信