该程序在主函数内打印cout的垃圾值。
CODE:
#include <iostream>
using namespace std;
int f(int num)
{
cout<<num<<endl;
}
int main()
{
cout << f(5) << endl;
return 0;
}
输出:
5
6296224
有这样的规则吗?
答案 0 :(得分:3)
在C中,如果使用返回值,它将调用未定义的行为:
(C11,6.9.1p12)&#34;如果到达终止函数的},并且调用者使用函数调用的值,则行为未定义。&#34;
在C ++中,函数调用是未定义的行为:
(C ++ 11,6.6.3p2)&#34;从函数末尾流出相当于没有值的返回;这会导致值返回函数中的未定义行为。&#34;