当它返回main函数时,double变为0

时间:2017-11-05 17:13:56

标签: c variables return double

任何人都可以帮我弄清楚为什么变量值在返回主函数时会变为0?我是C的新手,我不知道我在做什么

Screenshot of the source code

3 个答案:

答案 0 :(得分:0)

当你从一个你必须赋值给你的函数返回一个值时,它不会改变你在main函数中的in参数,所以这样做:

a = select();

答案 1 :(得分:0)

当您使用C语言声明函数时,请记住分配它们。 您给了select函数但没有为任何值赋值,尝试分配任何变量,以便将返回值赋给该变量

int value(int a,int b)
{
    int c=a,d=b,e;
    e=c+d;
    return(e);
}
void main()
{
    int n;
    clrscr();
    n=value(24,54);
    printf("value is %d",n);
    getch();
}

输出

value is 78

这里我已经为结果分配了n,所以输出的输出为78:D

答案 2 :(得分:0)

问题是“添加”功能中的“双a”是本地变量,因此更改不会显示在主功能中。

您可以将'double a'放在函数'select'之前(让'double a'成为全局变量),或使用a=select(a,b)来解决问题。