首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

这段代码错在哪呢?<树组w>解决思路

2012-03-18 
这段代码错在哪呢?<树组w>//数组错误代码:#include iostreamusingnamespacestdintmodify(int)intmain(

这段代码错在哪呢?<树组w>
//数组错误代码:
#include <iostream>
using   namespace   std;
int   modify(int);
int   main()
{
           
            int   marks[]={85,92,95,88};
            modify(marks[1]);
            cout < < "Second   element   is: " < <marks[1] < < "\n ";
           
}
int   modify(int   marks[])
{
          marks[1]-=10;
          return   0;
}


[解决办法]
#include <iostream>
using namespace std;
int modify(int *, int);
int main()
{

int marks[]={85,92,95,88};
modify(marks, 1);
cout < < "Second element is: " < <marks[1] < < "\n ";

}
int modify(int *marks, int i)
{
marks[i] -= 10;
return 0;
}
[解决办法]
两种改的方法都是可以的:
第一种方法我估计应该是楼主想要的:
#include <iostream>
using namespace std;
int modify(int);
int main()
{

int marks[]={85,92,95,88};
modify(marks); //把这个传递的参数改为数组名即可
cout < < "Second element is: " < <marks[1] < < "\n ";

}
int modify(int marks[]) //因为这边要求的就是一个指针,所以接收数组名才正确
{
marks[1]-=10;
return 0;
}


第二种方法也可以用,但估计不是楼主想要的,这是单纯的修改一个固定的元素

#include <iostream>
using namespace std;
int modify(int);
int main()
{

int marks[]={85,92,95,88};
modify(&marks[1]); //这里改为&
cout < < "Second element is: " < <marks[1] < < "\n ";

}
int modify(int *marks) //明确的写出是指针
{
(*marks)-=10; //元素改变值
return 0;
}

热点排行