开发者社区 问答 正文

c代码循环遇到了一个问题

#include 
#define size 4
int i,j;
int main()
{
int a[3][size]={
1,2,3,4,
5,6,7,8,
9,10,11,12

};
scanf("i = %d,j = %d",&i,&j);
while((i >= 3)||(j >= size))
{
    if(i>=3)
    {
        printf("error,please input i again\n");
        scanf("i = %d",&i);
    }
    else if(j>=size)
    {
        printf("error,please input j again\n");
        scanf("j = %d",&j);
    }
}

printf("%d",a[i][j]);
return 0;
}

不知道为什么进入循环后没法再次进行输入。

展开
收起
a123456678 2016-03-20 14:33:44 1550 分享 版权
1 条回答
写回答
取消 提交回答
  • 你的读入错了
    不能写成scanf("i = %d,j = %d",&i,&j);
    是scanf("%d%d",&i,&j);
    后面那个读入也错了

    数组的初始值赋值也错了
    int a3={
    1,2,3,4,
    5,6,7,8,
    9,10,11,12
    };
    应该改成
    int a3={
    {1,2,3,4},
    {5,6,7,8},
    {9,10,11,12}
    };

    2019-07-17 19:09:40
    赞同 展开评论
问答分类:
问答地址: