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;
}
展开
 我来答
过段时间换个ID
推荐于2018-03-26 · 超过16用户采纳过TA的回答
知道答主
回答量:54
采纳率:0%
帮助的人:0
展开全部
警告,编译器的警告,说明程序没有错误,可以运行,但是有小问题。当然很可能这个小问题会导致运行结果完全和想象的不一样。你这个应该就是了。
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没有
dexahh
2011-06-03 · TA获得超过354个赞
知道答主
回答量:216
采纳率:100%
帮助的人:289万
展开全部
float n;
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不是被赋值了么,给了值就行了,而上面那个没有给它们赋值啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式