请高手看一下这个C++程序有错误吗?如果有的话错在哪里?怎样修改?

来源:百度知道 编辑:UC知道 时间:2024/06/17 06:03:51
#include <iostream.h>
main()
{
void modify(int);
int marks[]={85,92,95,88};
modify(marks[]);
cout<<"second element is:"<<marks[1]<<"\n";
}
void modify(marks[])
{
marks[1]-=10;
return;
}
可以通过数组名称marks来操作marks[0]吗?
marks=10;与marks[0]=10;是一样的吗?
书上是这么说的.//一本很烂的书.错误百出!

void modify(marks[])
函数定义的时候要给出参数的类型,至于参数的名称是不必要的,因为具体参数是用函数的时候给的

比如int function(int a)
可以写成int function(int)
但是不能写成int function(a)

你的这个写成
#include <iostream.h>
main()
{
void modify(int *);
int marks[]={85,92,95,88};
modify(marks);
cout<<"second element is:"<<marks[1]<<"\n";
}
void modify(int marks[])
{
marks[1]-=10;
return;
}

就行了
注意看区别,在声明函数的时候由于是数组,所以要用整型指针
函数定义的时候虽然看起来int marks[]是整型,但因为后面是数组,所以类型应该是int *,另外在调用的时候是marks不是marks[]这里marks相当于指向这个数组的指针

看我写得这么辛苦,多给点分吧^--^

数组名称是指向该数组第一个变量的指针,如果要访问marks[0]的话可以用 *marks 即marks目前所指向的内容,也就是第一个元素marks[0],如果是访问marks[1]的话,可以 *(marks+1)

有错误,具体修改如下:

#include<iostream.h>//1、添加头文件

void main() //2、 main()
{
void modify(int marks[]); //3、void modify(int);
int marks[]={85,92,95,88};
modify(marks);//4、mo