注册 登录
编程论坛 C++教室

大家帮我看一下,这是出现什么问题

Susan來了 发布于 2014-05-03 11:27, 755 次点击
#include <iostream.h>
int average(int a[],int n)
{   
    int sum=0;
    for(int i=0;i<n;i++)
        sum=sum+a[i];
    return sum/n;

}
void main()
{
    int a[10]={10,20,30,40,50,60,70,80,90,100};
    int ave;
    for(int i=0;i<10;i++)
    ave=average(a,10);
    cout<<"ave="<<ave<<endl;
}

Debug/实验七 1 第二种方法.exe : fatal error LNK1120: 1 unresolved externals
这是什么意思?????
7 回复
#2
zklhp2014-05-03 13:06
主要问题

#include <iostream.h>
只有过去的标准才有带.h的头文件

void main()
这里应该是int

cout<<"ave="<<ave<<endl;
要么就用using 要么就std::cout std::endl 一般不建议用using namespace

再有问题就是 C++代码一般不推荐使用数组 因为不安全

不知道楼主看的什么书 建议楼主找本好点的书 认真看
#3
funyh2502014-05-03 20:38
#include <iostream>
using std::cout;
using std::endl;
前面改写这样
其他的都没错
#4
yxq2110462014-05-04 17:19
第二句 for (int i = 0; i<10; i++) 起到什么作用,删掉好像也没影响嘛
#5
fxbszj2014-05-06 10:49
回复 4 楼 yxq211046
当然有影响啊,楼主的代码在这一步相同的步骤给执行了10遍,删掉只执行一遍。影响就是更快了
#6
i802862014-05-06 13:26
将void main()改成int main(),void main()真的是错误的,C++的标准中就不存在这样的写法
加上语句using std::cout和using std::endl、以及在最后一个花括号前加上return 0语句,能正常运行(VS 2013)

PS:不建议看谭浩强的书
#7
fxbszj2014-05-06 17:07
回复 6 楼 i80286
我怎么看谭浩强的是int main()呢?不知道仁兄看的是哪版
#8
eqyy3802014-05-06 17:31
不知道
1