搜索

这个代码有什么问题?

查看数: 1588 | 评论数: 1 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2013-6-19 16:34

正文摘要:

#include <stdio.h> #include <stdlib.h> int *GetMax(int score[],int n); int main() {int i,score[10],*p; for(i=0;i<10;i++) scanf("%d",score+i); p=GetMax(score,10); printf("Max: ...

回复

rosynirvana 发表于 2013-6-19 16:34:48
你的GetMax返回一个int*
但是实际返回的是pos,一个int
然后强制转换后访问了非法的地址

不应该返回一个局部变量的地址,所以应该把函数声明改成
int getMax(int score[], int n);

然后p的类型也要改
GetMax里面有个设计问题,传进去的n没有使用,而是硬编码了一个10进去
快速回复 返回顶部 返回列表