(新手求解)提示在小弟我定义的max函数里error C4700: 使用了未初始化的局部变量“x”和“y”
(新手求解)提示在我定义的max函数里error C4700: 使用了未初始化的局部变量“x”和“y”
源码
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(void)
{
int a,b,c,x,y;
int max(int x,int y);
{
int z;
if(x>y) z=x;
else z=y;
return (z);
}
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d\n",c);
return 0;
}
调试时提示
error C4700: 使用了未初始化的局部变量“x”
error C4700: 使用了未初始化的局部变量“y”
查了一下,如果要初始化,不是应该赋值给x和y吗?但我这个只是对max函数的定义而已,新手想了好久也没想懂啊。。。求教怎么改!!!
------解决思路----------------------
在函数里面实现函数, lz是想用匿名函数吗
------解决思路----------------------
你的程序只有对max的声明,没有定义。
在函数里是不能写函数定义的。
应该改成这样:
------解决思路----------------------
把max函数定义拿到main函数的外面(前面)
源码
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(void)
{
int a,b,c,x,y;
int max(int x,int y);
{
int z;
if(x>y) z=x;
else z=y;
return (z);
}
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d\n",c);
return 0;
}
调试时提示
error C4700: 使用了未初始化的局部变量“x”
error C4700: 使用了未初始化的局部变量“y”
查了一下,如果要初始化,不是应该赋值给x和y吗?但我这个只是对max函数的定义而已,新手想了好久也没想懂啊。。。求教怎么改!!!
------解决思路----------------------
在函数里面实现函数, lz是想用匿名函数吗
------解决思路----------------------
你的程序只有对max的声明,没有定义。
在函数里是不能写函数定义的。
应该改成这样:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int max(int x,int y)
{
int z;
if(x>y) z=x;
else z=y;
return (z);
}
int main(void)
{
int a,b,c,x,y;
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d\n",c);
return 0;
}
------解决思路----------------------
把max函数定义拿到main函数的外面(前面)