注册 登录
编程论坛 C语言论坛

我想知道这段代码为什么输出不对呀(求解)

葵青 发布于 2019-11-25 23:39, 1291 次点击
#include<stdio.h>
int main()
{
    int a=60,b=100,c=80,j,i;
    int halou[1][1],t;
    for(i=0;i<3;i++)
    {
        for(j=0;j<3;j++);
            scanf("%d",&halou[i][j]);
        if(halou[i][j]<b && halou[i][j]>a)
        {
            t=halou[i][j];
            halou[i][j]=c;
        printf("%d\n",halou[i][j]);
        }
        else printf("%d\n",halou[i][j]);
    }
    return 0;

}
4 回复
#2
吹水佬2019-11-26 04:51
halou[1][1]
halou[i][j] i、j ?
#3
纯蓝之刃2019-11-26 08:56
for(j=0;j<3;j++);
后面多了个;号。并且需要用大括号把后面的内容括起来。
程序代码:
#include<stdio.h>
int main()
{
    int a=60,b=100,c=80,j,i;
    int halou[1][1],t;
    for(i=0;i<3;i++)
    {
        for(j=0;j<3;j++)
        {
            scanf("%d",&halou[i][j]);
        if(halou[i][j]<b && halou[i][j]>a)
        {
            t=halou[i][j];
            halou[i][j]=c;
        printf("%d\n",halou[i][j]);
        }
        else printf("%d\n",halou[i][j]);
        }
    }
    return 0;

}
#4
葵青2019-11-26 18:52
回复 3楼 纯蓝之刃
#include<stdio.h>
int main()
{
    int a=60,b=100,c=80,j,i;
    int halou[2][2],t;
    for(i=0;i<2;i++)
        for(j=0;j<2;j++)
            scanf("%d",&halou[i][j]);
    for(i=0;i<2;i++)
    {
        for(j=0;j<2;j++)
        {
        if(halou[i][j]<b && halou[i][j]>a)
        {
            t=halou[i][j];
            halou[i][j]=c;
        printf("%d\n",halou[i][j]);
        }
        else printf("%d\n",halou[i][j]);
        }
    }
    return 0;

}
#5
葵青2019-11-26 18:53
回复 4楼 葵青
我稍微改了一下;我的理解第一次ij循环是提供输入的,所以需要在循环一次。谢谢你给我思路啦
1