关于return语句问题
比如:return(a>b?a:b);这句话可以顺利运行,但是如果改为a>b?returna:returnb;就出现了错误请问错在哪里?...
比如:
return(a>b?a:b);这句话可以顺利运行,但是如果改为
a>b ? return a: return b ; 就出现了错误 请问错在哪里? 展开
return(a>b?a:b);这句话可以顺利运行,但是如果改为
a>b ? return a: return b ; 就出现了错误 请问错在哪里? 展开
展开全部
楼主这个题目有一定的认识缺陷,可能是没有把题目的原弄的清楚,有那么点含糊,所以导致理解透彻。我给你分析下!
首先你使用return(a>b?a:b),也是为了的到一个数来提供给你的主函数,
所以可以这样分解,
z=a>b?a:b;
return z;
即是把z的值返回到主函数中。那么这样就可以合并其起来为 return a>b?a:b.也就表明return后面不仅可以十个值,也可以是个表达式,所以这样合并是合法的。
但是,你在a>b?return a:return b;中在return 后使用a和b 便面看是合法的,但仔细研究 表达式1?表达式2:表达式3这种类型的条件表达式你就知道,它里面的三个参数都必须为表达式。再看看你的式子,表达式1对应你的a>b,显然是个表达式,但你后面的表达式2,和表达式3对应的分别为return a和return b,这不是个表达式,而是一个函数,return函数,所以肯定是错误的。
所以楼主在分析这类题目是一定要看里面,而且还要看外面,这样才会做到万无一失。
首先你使用return(a>b?a:b),也是为了的到一个数来提供给你的主函数,
所以可以这样分解,
z=a>b?a:b;
return z;
即是把z的值返回到主函数中。那么这样就可以合并其起来为 return a>b?a:b.也就表明return后面不仅可以十个值,也可以是个表达式,所以这样合并是合法的。
但是,你在a>b?return a:return b;中在return 后使用a和b 便面看是合法的,但仔细研究 表达式1?表达式2:表达式3这种类型的条件表达式你就知道,它里面的三个参数都必须为表达式。再看看你的式子,表达式1对应你的a>b,显然是个表达式,但你后面的表达式2,和表达式3对应的分别为return a和return b,这不是个表达式,而是一个函数,return函数,所以肯定是错误的。
所以楼主在分析这类题目是一定要看里面,而且还要看外面,这样才会做到万无一失。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |