VC++ D:\c++\1.6.cpp(33) : warning C4700: local variable 'n' used without having been initialized
请问如题的warning是什么意思呢?源程序如下,来自谭浩强的C++入门教材,讲函数重载那一部分。多谢指点。出现的问题是D:\c++\1.6.cpp(33):warnin...
请问如题的warning是什么意思呢?源程序如下,来自谭浩强的C++入门教材,讲函数重载那一部分。多谢指点。出现的问题是
D:\c++\1.6.cpp(33) : warning C4700: local variable 'n' used without having been initialized
D:\c++\1.6.cpp(35) : warning C4700: local variable 'p' used without having been initialized
#include <iostream>
using namespace std;
int max(int a,int b,int c)
{
if(b>a) a=b;
if(c>a) a=c;
return 0;
}
float max(float a,float b,float c)
{
if(b>a) a=b;
if(c>a) a=c;
return 0;
}
long max(long a,long b,long c)
{
if(b>a) a=b;
if(c>a) a=c;
return 0;
}
int main()
{
int a,b,c;
float d,e,f;
long g,h,i;
cin>>a>>b>>c;
cin>>d>>e>>f;
cin>>g>>h>>i;
int m;
m=max(a,b,c);
cout<<"max_i"<<m<<endl;
float n;
cout<<"max_f"<<n<<endl;
long int p;
cout<<"max_l"<<p<<endl;
return 0;
} 展开
D:\c++\1.6.cpp(33) : warning C4700: local variable 'n' used without having been initialized
D:\c++\1.6.cpp(35) : warning C4700: local variable 'p' used without having been initialized
#include <iostream>
using namespace std;
int max(int a,int b,int c)
{
if(b>a) a=b;
if(c>a) a=c;
return 0;
}
float max(float a,float b,float c)
{
if(b>a) a=b;
if(c>a) a=c;
return 0;
}
long max(long a,long b,long c)
{
if(b>a) a=b;
if(c>a) a=c;
return 0;
}
int main()
{
int a,b,c;
float d,e,f;
long g,h,i;
cin>>a>>b>>c;
cin>>d>>e>>f;
cin>>g>>h>>i;
int m;
m=max(a,b,c);
cout<<"max_i"<<m<<endl;
float n;
cout<<"max_f"<<n<<endl;
long int p;
cout<<"max_l"<<p<<endl;
return 0;
} 展开
2个回答
展开全部
警告,编译器的警告,说明程序没有错误,可以运行,但是有小问题。当然很可能这个小问题会导致运行结果完全和想象的不一样。你这个应该就是了。
n和p没有被初始化。虽然程序照样可以运行,但是n和p的值,估计不是你想要的
int a,b,c;
float d,e,f;
long g,h,i;
cin>>a>>b>>c;
cin>>d>>e>>f;
cin>>g>>h>>i;
int m;
m=max(a,b,c);
你看,你前面这些变量都有声明以及赋值。只有n,p没有
n和p没有被初始化。虽然程序照样可以运行,但是n和p的值,估计不是你想要的
int a,b,c;
float d,e,f;
long g,h,i;
cin>>a>>b>>c;
cin>>d>>e>>f;
cin>>g>>h>>i;
int m;
m=max(a,b,c);
你看,你前面这些变量都有声明以及赋值。只有n,p没有
展开全部
float n;
cout<<"max_f"<<n<<endl;
long int p;
cout<<"max_l"<<p<<endl;
n p 都没初始化,输出的值是随机的,没有初始化的变量直接用,编译器会给警告
cout<<"max_f"<<n<<endl;
long int p;
cout<<"max_l"<<p<<endl;
n p 都没初始化,输出的值是随机的,没有初始化的变量直接用,编译器会给警告
追问
请问怎么初始化?为什么之前的几句没出现问题?多谢
int m;
m=max(a,b,c);
cout<<"max_i"<<m<<endl;
追答
m=max(a,b,c);你执行完了这句话之后,m不是被赋值了么,给了值就行了,而上面那个没有给它们赋值啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询