为了账号安全,请及时绑定邮箱和手机立即绑定

问题出在哪里啦,输入数字之后,系统提示Run-Time Check Failure #3 - The variable 'a' is being used without being initialized.

//其中给定整数存放在数组List[]中,正整数N是数组元素个数。该函数须返回N个List[]元素的和。

#include <iostream>

#include <stdlib.h>

using namespace std;

int Sum(int *List,int n);

int Sum(int *List,int n){

int i,n,sum=0;

for(i=0;i<n;i++){

sum+=List[i];

}

return sum;

}

int main(){

int i,n,*List;

cout<<"请输入n:"<<endl;

cin>>n;

for(i=0;i<n;i++){

cout<<"请输入数组元素:"<<endl;

cin>>List[i];

cout<<Sum(List,n)<<endl;

}

system("pause");

return 0;

}


正在回答

5 回答

第一个是你的Sum函数中接受参数的变量是n,又在函数内部定义了一个n,出现了重复定义,再者你的List定义成了野指针,没有指向

1 回复 有任何疑惑可以回复我~
  1. 你那个错误是‘a’没有初始化,但是这个程序里面看不见a字符,可能是你在原本的.cpp的未删除的基础上添加一个.cpp,解决方案是:未重新创建一个项目或者删除原本的.cpp,重新创建。

  2. 现在的错楼上说的很具体了,是 ‘n’的重定义,因为int Sum(int *List,int n)中参数中有n 所以在这个函数内就不有在定义了。


0 回复 有任何疑惑可以回复我~
#include <iostream>#include <stdlib.h>using namespace std;int Sum(int *List,int n){	int i,sum=0;	for(i=0;i<n;i++)	{		sum+=List[i];	}	return sum;}int main(){	int i,n, List[] = {0};	cout<<"请输入n:"<<endl;	cin>>n;	cout<<"请输入数组元素:"<<endl;	for(i=0;i<n;i++)	{		cin>>List[i];	}	cout<<Sum(List,n)<<endl;	system("pause");	return 0;}

又改了一下。。。

0 回复 有任何疑惑可以回复我~
#include <iostream>
#include <stdlib.h>
using namespace std;

int List[] = {0};
int Sum(int *List,int n)
{
	int i,sum=0;	
	for(i=0;i<n;i++)	
	{
		sum+=List[i];	
	}	
	return sum;
}

int main()
{
	int i,n;	
	cout<<"请输入n:"<<endl;	
	cin>>n;	
	cout<<"请输入数组元素:"<<endl;	
	for(i=0;i<n;i++)	
	{		
	    cin>>List[i]	
	}
	cout<<Sum(List,n)<<endl;	
	system("pause");	
	return 0;
}

改了一下

1 回复 有任何疑惑可以回复我~
int Sum(int *List,int n)
{
    int i,n,sum=0;
    for(i=0;i<n;i++)
    {
        sum+=List[i];
    }

n重定义了吧


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之离港篇
  • 参与学习       122700    人
  • 解答问题       474    个

C++扫清通往面向对象的最后一道障碍,将所有知识点融会贯通

进入课程

问题出在哪里啦,输入数字之后,系统提示Run-Time Check Failure #3 - The variable 'a' is being used without being initialized.

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信