该函数如何在不应该​​返回值时返回值?

时间:2016-11-15 17:14:52

标签: c++ function return

该函数即使不应该返回一个值。

var = IntVar()
def selected():
    print(var.get())
def callback_st():
    ...
         ...command=selected...

输出结果为:

#include<iostream>
using namespace std;
int foo(int a,int b)
{
    if(a>b)
        return a;
    else if(a<b)
        return b;
}
int main()
{
    int x=7,y=7;
    cout<<foo(x,y);
    return 0;
}

它也仅在GCC编译器上生成正确的输出(我使用了Dev C ++)。 Turbo C产生了垃圾价值。 有人能解释一下这是怎么发生的吗?

1 个答案:

答案 0 :(得分:3)

未在所有程序控制路径上返回值的行为是未定义

允许编译器执行任何操作。

你的编译器警告你没有这个吗? (GCC也应该,Turbo C可能不是因为它的年龄)。