首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

c++数据类型有关问题

2012-02-09 
c++数据类型问题这个程序为何编译通过,而得出来的值却不对呢?数据类型哪里出现问题呢?我用long也不行。请指

c++数据类型问题


这个程序为何编译通过,而得出来的值却不对呢?数据类型哪里出现问题呢?我用long   也不行。请指教。
#include <iostream>
using   namespace   std;
int   add_val(int);
void   main()
{
          int   max_values;
          cout < < "please   enter   a   number   ... ";
          cin> > max_values;
          max_values=add_val(max_values);
          cout < <max_values;

}
int   add_val(int   j)
{
int   i,m;
for   (i=1;i <=j;i++)
{
m=m+i;
}
return   m;
}


而下面这个程序却没有任何问题,
#include <iostream>
using   namespace   std;
void   main()
{
int   i,j=1;
int   count=0;
cout < < "please   enter   a   number... ";
cin> > i;
for   (j=1;j <=i;j++)
{
count=count+j;
}
cout < <count;

}

[解决办法]
m=0
[解决办法]
int add_val(int j)
{
int i,m;
for (i=1;i <=j;i++)
{
m=m+i;
}
return m;
}
晕,楼上说得对,你m没有初始化。。。
[解决办法]
m沒有賦初值
[解决办法]
一点原则,变量使用前先定义,运算前先赋值。
[解决办法]
int add_val(int j)
{
int i,m;
m=0; //加上这一句
for (i=1;i <=j;i++)
{
m=m+i;
}
return m;
}

只有加上m=0;你的第一次m=m+i才有确定的值,是m=m+1,否则m是一个随机的数,那么你m=m+1也是随机的,导致全盘皆输
[解决办法]
“能否讲解下为何这初始值这么重要呢?”你这次的错误已经刻骨铭心地说明了为什么。
[解决办法]
m木有赋初值,指不定是什么数了。。。
[解决办法]
m=0;//初始化

热点排行