作者happykyoko (老被好人当的人)
看板C_and_CPP
标题[问题] 新手指标的问题
时间Sun Mar 15 23:17:28 2009
#include<stdio.h>
void SumofArray(int *a[],const int *length);
int main(){
int array[10][10]={0};
int m,n,length;
printf("Please input the length\n");
scanf("%d",&length);
for(m=0;m<length;++m){
for(n=0;n<length;++n){
printf("Please input array[%d][%d]\n",m,n);
scanf("%d",&array[m][n]);
}
}
SumofArray(array[],length);
return 0;
}
void SumofArray(int *a[] ,const int length)
{
int i,j;
int sum = 0;
for(i = 0;i < length;++i){
for(j = 0;j < length;++j){
sum += a[i][j];
}
}
printf("The sum is %d",sum);
}
这是我写的计概实习的作业
而作业题目大意是
老师要求说要使用void SumifArray而不使用int
也就是不能 return sum
这题要用指标写
我对於指标不了解
只能照着课本范例试着去写
结果编译时 SumofArray(array[],length); 这行出现错误
但是因为我只是照着课本乱写
所以总觉得错误好像不只是那里而已......
因为那行能试着更改的我都试过 Orz
所以想问一下到底应该怎麽修改
顺便跟我讲解一下指标在这题里到底做为什麽功用= =?
2.这题似乎有人不用指标就做出答案
有不少程式问题似乎用不用指标都能写出
那到底指标用处是什麽?
对於程式算是好的帮助吗?
3. 在计概指标这节里
题目范例假设变数 int 很多会在int前加上const
虽然知道const是指常数
但不知道为什麽突然要加那个
加和不加编译都会通过
那加它有什麽意义存在吗?
我想这些都是基础的问题
但我就是一直搞不懂~"~
所以上来本版大胆请教各位高手
请各位为我解除疑惑>"<
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.170.7.101
1F:→ softwind:你函式的宣告和定义不一样 const int *length ? 03/15 23:26
2F:→ softwind:你在传array进一个func的时候 就是使用ptr而非整个copy 03/15 23:27
3F:→ softwind:const 这边应该念做 readonly 而非常数 03/15 23:29
4F:推 snowlike:(*a)[10] or a[][10] 03/16 00:54
5F:推 Alexboo:1. 传阵列 2. 可以让你飞来飞去 3.防止手残改到常数 03/16 15:27