为了账号安全,请及时绑定邮箱和手机立即绑定

求助求助 为什么在fun1里面输出和传回来的输出不一样

求助求助 为什么在fun1里面输出和传回来的输出不一样

C
早睡身体好0 2016-11-24 13:27:58
#include<stdio.h> int fun1(int *p) { int i; int b[3]={0}; int *m=NULL; for(i=0;i<3;i++) { b[i]=(*(p+3*i)+*(p+3*i+1)+*(p+3*i+2))/3; } m=b; for(i=0;i<3;i++) { printf("%d ",*(m+i)); } printf("\n"); return m; } int main() { int *p=NULL; int b[3]={0}; int i; int *n=NULL; int a[3][3]={1,2,3, 4,5,6, 7,8,9}; p=a; n=fun1(p); for(i=0;i<3;i++) { printf("%d ",*(n+i)); } printf("\n"); } 输出是 2 5 8 2 3 1
查看完整描述

1 回答

?
望远

TA贡献1017条经验 获得超1032个赞

调用结束后数组b就被销毁了。
查看完整回答
反对 回复 2016-11-24
  • 1 回答
  • 0 关注
  • 924 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信