函数中的c ++在没有返回语句的情况下返回什么?

时间:2018-05-15 09:01:36

标签: c++ function

在一次测试中,我的一个同学编写了以下函数来翻转数字:

int tukor(int n)
{
    int k=0;
    while(n!=0)
    {
        k=k*10+n%10;
        n=n/10;
    }
    n=k;
}

您会注意到完全没有任何返回语句,但在运行cout<<tukor(1234);时(使用namespaaace std),它会输出4321。现在,即使在教师在函数末尾添加了行n=0;n=12;之后,整个班级仍然对这种可能性感到困惑。到目前为止,它已适用于所有测试用例。

这是由未定义的行为引起的吗?

编辑:在n = k语句之前更改k会更改返回值,如果删除,则返回值为0.

0 个答案:

没有答案