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

为什么子函数还会段异常

2012-10-09 
为什么子函数还会段错误?Cd_chiong-mini2440(2444048960)16:54:16#includestdio.h#define N 20int main(

为什么子函数还会段错误?
Cd_chiong-mini2440(2444048960) 16:54:16
#include<stdio.h>
#define N 20
int main(){
 int n,i,x[N];

 printf("请输入学生人数:");
 scanf("%d",&n);
 printf("输入%d个数据\n",n);
 for(i=0;i<n;i++){
  scanf("%d",&x[i]);
 }
 printf("the max is:%d\n",fun(x,n));
}

int fun(int x[],int n){
 int i,max=0,*index=0;
 for(i=0;i<n;i++){
  if(x[i]>max)
  {max=x[i];*index=i;}
  else;
 }
return max;
}

求解为何在子函数还会段错误?

[解决办法]
int *index=0;
*index=i;

对NULL单元赋值么...
[解决办法]
何必用指针,用个局部变量int index不方便多了

即使用指针也要指向正确的地方:
int index;
int *indexptr = &index;
[解决办法]
你的指针没空间就存值了。

热点排行