首页 > 解决方案 > 我输入了一个值以使循环工作的时间准确,但它不起作用

问题描述

例如,如下代码,我想循环执行 5 次,所以我在 b 中输入 5,结果显示它只执行了一次。请帮帮我谢谢

while(scanf("%s",&a)!=EOF){
    scanf("%d",&b);
    for(c=1;c<=b;c++){
        char d[4];
        scanf("%s",&d);
        printf("%s\n",d);  }}

标签: c

解决方案


int main(){
char a[4];
while(scanf("%s",&a)!=EOF){
    int b,c;
    scanf("%d",&b);
    for(c=1;c<=b;c++){
        char d[100];
        int e,f=0,g=0;

        scanf("%s",&d);
        for(e=0;e<=3;e++)
            if(a[e]==d[e])
                f++;
        for(e=0;e<=3;e++)
            if(a[e]!=d[e]&&a[e]==d[(e+1)%4]||a[e]==d[(e+2)%4]||a[e]==d[(e+3)%4])
                g++;
        printf("%dA%dB\n",f,g);
    }
}
    return 0;}

我把“d”的大小改成100,终于成功了,第一个for循环可以运行五次,因为我输入5为“b”,但仍然不知道为什么我只给“d”时它不能工作“ 4 的大小...


推荐阅读