
C语言出现了858993460是怎么回事啊?求大神解答!!!!
#include<stdio.h>intdisplay(intd,inte);main(){inta[3][3],b[3][3],c[3][3],i,f;printf("...
#include<stdio.h>
int display (int d,int e);
main()
{
int a[3][3],b[3][3],c[3][3],i,f;
printf("input 9 integers\n");
for(i=0;i<3;i++)
{
for(f=0;f<3;f++)
{
scanf("%d",*(a+i)+f);
}
}
printf("input 9 integers\n");
for(i=0;i<3;i++)
{
for(f=0;f<3;f++)
{
scanf("%d",*(b+i)+f);
}
}
for(i=0;i<3;i++)
{
for(f=0;f<<3;f++)
{
*(*(c+i)+f)=display(*(*(a+i)+f),*(*(b+i)+f));
}
}
for(i=0;i<3;i++)
{
for(f=0;f<3;f++)
{
printf("%d",*(*(c+i)+f));
}
printf("\n");
}
}
int display (int d,int e)
{
int h;
h=d+e;
return (h);
}
目的是利用指针和调用函数来输入两个二维数组相加得到第三个数组,编译没有问题,但是为什么会出现那奇怪的数字啊? 展开
int display (int d,int e);
main()
{
int a[3][3],b[3][3],c[3][3],i,f;
printf("input 9 integers\n");
for(i=0;i<3;i++)
{
for(f=0;f<3;f++)
{
scanf("%d",*(a+i)+f);
}
}
printf("input 9 integers\n");
for(i=0;i<3;i++)
{
for(f=0;f<3;f++)
{
scanf("%d",*(b+i)+f);
}
}
for(i=0;i<3;i++)
{
for(f=0;f<<3;f++)
{
*(*(c+i)+f)=display(*(*(a+i)+f),*(*(b+i)+f));
}
}
for(i=0;i<3;i++)
{
for(f=0;f<3;f++)
{
printf("%d",*(*(c+i)+f));
}
printf("\n");
}
}
int display (int d,int e)
{
int h;
h=d+e;
return (h);
}
目的是利用指针和调用函数来输入两个二维数组相加得到第三个数组,编译没有问题,但是为什么会出现那奇怪的数字啊? 展开
3个回答
2014-12-01
展开全部
没看代码,初步给出原因:数组没赋值,导致其指针指向的内存空间的值是随机的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
输出的数字过大 有可能是因为 类型不匹配 比如说一个浮点型的数据用整形输出
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for(f=0;f<<3;f++) //这写错了 f<3
{
*(*(c+i)+f)=display(*(*(a+i)+f),*(*(b+i)+f));
}
{
*(*(c+i)+f)=display(*(*(a+i)+f),*(*(b+i)+f));
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询