标题:不知道怎么错了 唉
只看楼主
lovl
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-8-10
 问题点数:0 回复次数:4 
不知道怎么错了 唉
#include<iostream.h>
void main()
{
int n;
int j=0;
cout<<"请输入学生人数:";
cin>>n;
int Count[n]; //第八行
cout<<"请依次输入学生成绩:";
for(int i=0;i<n;i++)
{
cin>>Count[i];
j+=Count[i];
}
cout<<"这些学生的平均成绩为"<<j/n<<endl;
}
//我这样打的时候 编绎系统说 第八行中的n 大小不明确,, 错了 我不明白呀 谁帮我解释一下 谢谢
#include<iostream.h>
void main()
{
int n;
int j=0;
cout<<"请输入学生人数:";
cin>>n;
int *Count; //第八行
cout<<"请依次输入学生成绩:";
for(int i=0;i<n;i++)
{
cin>>Count[i];
j+=Count[i];
}
cout<<"这些学生的平均成绩为"<<j/n<<endl;
}
//等到我将第八行改了 能进行编绎 但是在最后就说明该可执行文件有错误 最后弹出 谁解释一下好吗
同时在我改一个正确的
谢谢
搜索更多相关主题的帖子: include void 
2006-09-09 16:14
眼底星空
Rank: 4
等 级:业余侠客
威 望:3
帖 子:85
专家分:289
注 册:2006-9-2
得分:0 

应该动态申请内存

将第八行换为:
int* Count = new int[n];
if(NULL == Count)
return;
memset(Count,0,sizeof(int)*n);


无为而为 && 每天进步一小点...
2006-09-09 16:33
lovl
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-8-10
得分:0 

是呀,忘记了new int[];
但你能告诉我
if(NULL==Count)
return;
memset(Count,0,sizeof(int)*n);
这几句的作用吗,是不是可有可无。。
谢谢!!

2006-09-09 19:17
眼底星空
Rank: 4
等 级:业余侠客
威 望:3
帖 子:85
专家分:289
注 册:2006-9-2
得分:0 
if(NULL==Count)
NULL表明申请内存不成功,返回
条件判断是需要的,防患于未然

memset(Count,0,sizeof(int)*n);
是对Count初始化为0
虽然可能不需要,但也不是坏事,这个是我的习惯

还有new之后记得delete掉

无为而为 && 每天进步一小点...
2006-09-09 20:04
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
得分:0 
都是好习惯

嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-09-10 08:21



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-89035-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.120287 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved