大家都来讨论一下return语句!!

caizhiyi123 2004-05-03 05:19:30
return+表达式;这样的表达式可以是任何c++表达式吗?
...全文
21 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
tangxiaosan001 2004-05-04
  • 打赏
  • 举报
回复
^_^。
julyclyde 2004-05-04
  • 打赏
  • 举报
回复
表达式类型兼容即可
这里是自动转换而不是强制转换
thuers 2004-05-04
  • 打赏
  • 举报
回复
xuexi
zhouqingyuan 2004-05-03
  • 打赏
  • 举报
回复
只要表达式能够得出实际的值,当然可以。
freefalcon 2004-05-03
  • 打赏
  • 举报
回复
看一看C++ Primer吧
只要表达式的结果与返回值的类型匹配,或者编译器能进行隐式转换都是可以的
召棠 2004-05-03
  • 打赏
  • 举报
回复
按照语法规定,表达式可以是任意表达式,只要表达式的类型与返回类型匹配即可通过编译
junnyfeng 2004-05-03
  • 打赏
  • 举报
回复
可以的
newegg2002 2004-05-03
  • 打赏
  • 举报
回复
只要该表达式与函数应该返回的变量类型一致就行了...
wbh0360 2004-05-03
  • 打赏
  • 举报
回复
可以,只要表达式有返回值
hslinux 2004-05-03
  • 打赏
  • 举报
回复
在我印象中是的,只要这个表达式的值和该函数 应该返回的值类型兼容。
mistysunlight 2004-05-03
  • 打赏
  • 举报
回复

如果类型不一致就不行吗 ?
C++不是有类型强制转换吗?
就是在类型不一样的时候 好象可以转换来着!(如,整型转为浮点型)
vsfan 2004-05-03
  • 打赏
  • 举报
回复
那个不是例外,是正常的结果
chenqing1128 2004-05-03
  • 打赏
  • 举报
回复
当然可以了。
只要与返回值类型一致
02051223 2004-05-03
  • 打赏
  • 举报
回复
上面的输出 01234 很显然啊。如果++ret前就是12345
其他的说的多时Reasonable!
MyNameEPC 2004-05-03
  • 打赏
  • 举报
回复
当然可以!不过有一个情况你要例外,如下:
int foo()
{
static int ret = 0;
return ret++;
}

int main()
{
for(int i=0; i<5; ++i)
cout<<foo();
}

输出结果是:01234,而不是12345。++运算在return语句以后才执行。类似问题要注意的。

69,381

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧