ghMhg
2016-07-10 10:10
采纳率: 50%
浏览 1.4k
已采纳

C语言小问题:用指向一维数组的指针变量做变量输入数据不正确

void main()
{
int i, j;
int a[2][3];
int(*p)[3];

p = a;
for (i = 0; i < 2; i++)
    for (j = 0; j < 3; j++)
        scanf_s("%d ", *(p + i) + j);  

//输入时要多输入一个数据,才会返回输入结果,但多输入的那个数据不会被输出
//为啥要多输入一个呢?
p = a;
for (i = 0; i < 2; i++)
{
for (j = 0; j < 3; j++)
printf("%d ", ((p + i) + j));
putchar('\n');
}
}

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • threenewbee 2016-07-10 10:18
    已采纳
     不知道你的程序要做什么
    
    scanf_s("%d ", *(p + i) + j);  
    ->
    scanf_s("%d", *(p + i) + j); 
    去掉空格看看
    
    已采纳该答案
    打赏 评论
  • gamedev˚ 2016-07-10 15:47
    打赏 评论

相关推荐 更多相似问题