测试积点老人 发表于 2019-12-4 10:17:34

为什么要多输入一个数才能运行,我不是规定了数组只有9个数了吗?

为什么要多输入一个数才能运行,我不是规定了数组只有9个数了吗?
#include
#include
#define N 3
#define M 3
/*238-4.编写一个函数(参数用指针)将一个3×3矩阵转置。*/
/*与题目无关代码还没写完的*/
void display(int (*p))
{
int i,j;
for(i=0;i<N;i++)
{
for(j=0;j<M;j++)
{
printf("%2d",*(*(p+i)+j));
}
printf("\n");
}
}
int main()
{
int i,j,(*p),a={0};
for(i=0;i<N;i++)
{
for(j=0;j<M;j++)
{
scanf("%d ",&a);
}
}
p=a;
display(p);
return 0;
}

bellas 发表于 2019-12-5 10:20:06

从网上查下把

海海豚 发表于 2019-12-5 10:58:28

scanf("%d ",&a);
--->
scanf("%d",&a);

qqq911 发表于 2019-12-5 11:29:17

跳出还有一个

jingzizx 发表于 2019-12-5 12:15:32

把你的条件判断好

litingting0214 发表于 2019-12-5 12:52:30

\n 是作为数据域,所以必须在遇到 第二个\n 时 scanf 才结束。
页: [1]
查看完整版本: 为什么要多输入一个数才能运行,我不是规定了数组只有9个数了吗?