使用了未初始化的局部变量“y”

使用了未初始化的局部变量“y”

#include <stdio.h>
int fun(int x)
{
int y;
if(x>=0)
y=x;
else
y=-x;
return y;
}
void main()
{
int x,y,i=3;
while(i--)
{
printf("请输入一个整数:\n");
scanf("%d",&x);
fun(x);
printf("|%d|=%d\n",x,y);
}
}


#include <stdio.h>
int fun(int x)
{
    int y=0;
    if (x >= 0)
        y = x;
    else
        y = -x;
    return y;
}
void main()
{
    int x, y=0, i = 3;
    while (i--)
    {
        printf("请输入一个整数:\n");
        scanf("%d", &x);
        y=fun(x);
        printf("|%d|=%d\n", x, y);
    }
}


形参的值不影响实参


#include <stdio.h>
int fun(int x)
{int y;
if(x>=0)
y=x; 
else
y=-x;
return y;}
void main()
{int x,y,i=3;
while(i--)
{printf("请输入一个整数: \n");
scanf("%d" ,&x);
y=fun(x);
printf("|%d|=%d\n" ,x,y);}
}

主函数里: fun(x); 应修改为:y=fun(x);