帮我看下出什麽问题了 c++

来源:百度知道 编辑:UC知道 时间:2024/09/20 06:45:41
算输入一个数,然后计算出现的次数。

#include <iostream>
using namespace std;

void read( int list[], int n );
int times (const int list[],int v,int q);

int main()
{
const int MAXSIZE = 100;
int a[MAXSIZE] = { 0 }, size;
int p;

read(a, size);
cout<<"put a integer"<<endl;
cin>>p;
int index=times(a,size,p);
if (index==0)
cout<<"nothing"<<endl;
else
cout<<index<<endl;

system("pause");
return 0;
}//end main

void read( int list[], int n )
{
cout << "Enter integers (-1 to finish): " << endl;
n = 0;
do
{
cout << "list[" << n << "]: ";
cin >> list[n];
}
while( list[n++] != -1 );
--n; // don't count

size定义混乱了...

调用read函数结束后,size仍未被赋值.

如果只是让程序正常运行,可以将

void read( int list[], int n );改为

int read( int list[], int n );

read(a, size); 改为 size=read(a,size);

函数内加一个返回值return n;

事实上你的read函数写的有问题。

int read( int list[]);
{
int n=0;
...
...
...
return n;
}

main()
{
...
...
size=read(a);
...
...
}

size没有赋值,应该赋值为MAXSIZE

#include <iostream>
using namespace std;

void read( int list[], int n );
int times (const int list[],int v,int q);

int main()
{
const int MAXSIZE = 100;
int a[MAXSIZE] = { 0 };
int size=5;/*要给 size一个初值啦,你太粗心啦,怎么知道给数组初始化,但却忘了整型变量size? */
int p;

read(a, size);
cout<<"put a integer"<<endl;
cin>>p;
int index=times(a,size,p);
if (index==0)
cout<<"nothing"<&