C++ C++;显示的输出没有返回值

C++ C++;显示的输出没有返回值,c++,function,parameterized,C++,Function,Parameterized,使用的编译器-:代码块 如果不返回“c”,变量“d”如何获得其值 #include<iostream> using namespace std; int add(int x,int y) { int c; c=x+y; } int main() { int a,b; cin>>a>>b; int d=add(a,b); cout<<d; } #包括 使用名称空间std; 整数相加(整数x,整数y

使用的编译器-:代码块

如果不返回“c”,变量“d”如何获得其值

#include<iostream>
using namespace std;

int add(int x,int y) {
    int c;
    c=x+y;
}

int main() {
    int a,b;
    cin>>a>>b;
    int d=add(a,b);
    cout<<d;
}
#包括
使用名称空间std;
整数相加(整数x,整数y){
INTC;
c=x+y;
}
int main(){
INTA,b;
cin>>a>>b;
int d=添加(a,b);

CUT

不在VisualC++中编译,但在使用时确实给出了结果。


<> JaMiT的注释链接到正确的答案和解释。

< P>不在VisualC++中编译,但它确实使用时给出了结果。 上面JaMiT的评论链接到正确答案并进行解释。

编写以下代码:

#include<iostream>
using namespace std;

int add(int x,int y)
{
    return x+y;//CHANGE THIS
}

int main()
{
     int a,b;
    cin>>a>>b;
    int d=add(a,b);
    cout<<d;
}
#包括
使用名称空间std;
整数相加(整数x,整数y)
{
返回x+y;//更改此值
}
int main()
{
INTA,b;
cin>>a>>b;
int d=添加(a,b);
无法编写以下代码:

#include<iostream>
using namespace std;

int add(int x,int y)
{
    return x+y;//CHANGE THIS
}

int main()
{
     int a,b;
    cin>>a>>b;
    int d=add(a,b);
    cout<<d;
}
#包括
使用名称空间std;
整数相加(整数x,整数y)
{
返回x+y;//更改此值
}
int main()
{
INTA,b;
cin>>a>>b;
int d=添加(a,b);

不能从本应返回值的函数中返回值是未定义的行为。未定义的行为没有任何理由——任何事情都可能发生。仍然无法获取它。@Noobcoder未定义的行为意味着任何事情都可能发生。不知道如何将其说得更简单。旁注:Code::Blocks是一个通常位于g++编译器顶部。输出发生了什么?明白我的意思吗?赋值,不输出。更改编译器设置,可能会输出其他内容。同样,这都是因为程序选择调用未定义的行为。不从本应返回值的函数返回值是未定义的行为。没有任何从未定义的行为中推理——任何事情都可能发生。仍然没有得到它。@Noobcoder未定义的行为意味着任何事情都可能发生。我不知道如何把它说得更简单。旁注:Code::Blocks通常位于g++编译器的顶部。输出发生了什么事?明白我的意思吗?赋值,没有输出。Ch如果更改编译器设置,可能会输出其他内容。同样,这都是因为您的程序选择调用未定义的行为。我知道这会起作用,但我的主要问题是为什么它返回值,而我不返回任何内容。因为我向我的朋友演示了如何在不同情况下使用return,以及如果我不返回该方式会发生什么。但是在评论中显示了上面提到的未定义行为我知道这会起作用,但我的主要问题是为什么它返回一个值,而我不返回任何内容。因为我向我的朋友展示了如何在不同的情况下使用return,以及如果我不返回该方式会发生什么。但它显示了上面评论中提到的未定义行为