//小弟想用getfenum,得到某一行中不是0的数字的值的数组contextnum,该如何改呢 ?刚得到第一个值就段错误了
#include<stdio.h>;
main()
{ int num;
int *p;
int contextnum[11];
int fe[13][11]= {{3,0,0,0,0,0,0,0,0,0,4},
{3,0,0,0,0,0,0,0,0,0,4},
{3,0,0,0,0,0,0,0,0,0,4},
{0,0,0,0,0,0,0,0,0,0,3},
{0,0,0,0,0,0,0,0,0,0,3},
{0,0,0,0,0,0,0,0,0,0,3},
{0,0,0,0,0,0,0,0,0,0,3},
{0,0,0,0,0,0,0,0,0,0,3},
{0,0,0,0,0,0,0,0,0,0,3},
{0,3,4,0,7,0,0,5,6,0,8},
{0,0,0,0,3,0,0,0,0,4,5},
{0,3,5,0,0,4,0,0,0,0,6},
{0,3,5,0,0,4,6,0,0,0,7}};
p = fe[0];
char out_put_name[10]="aa";
char *filename[13] = {"aa","bb","cc","dd","ee","ff","gg","hh","ii","jj","kk","ll","mm"};//用来确定某一行,行下标m
num=getfenum(p,out_put_name,filename);//应该是 3
printf("%d\n",num);
}
//得到fe[m][n]的值
int getfenum(int **p,char *out_put_name,char **filename) {
int i,j,m,n;
for(i = 0;i < 13;i++) {
if(strcmp(out_put_name,filename) == 0){
m = i;
break;
}
}
printf("%d\n",m);//得到行下标m
for(j = 0;j < 11;j++) {
if(p[m][j] != 0) {//想确定列的下标n,却发生段错误,就在这句
n = j;
}
}
return (p[m][n]);//返回第一行第一个数值,应该是3
} |