#22721: C 為甚麼會錯


a90091995@gmail.com (1)


請問這樣會甚麼會錯

會先輸出兩次 1 2 3 4 5

再繼續讀取 1 2 4 8 

 

#include <stdio.h>

#include <stdlib.h>

 

int main(void)

{

    int i,t;

    int a, b, c, d, e;

    scanf("%d",&t);

    i = 0;

    while(i<t)

    {

        i++;

        scanf("%d %d %d %d", &a, &b, &c, &d);

        if ((b-a)==(d-c))

        {

            e = d+b-a;

            printf("%d %d %d %d %d", a, b, c, d, e);

            printf("\n");

 

        }

        else e = d*c/b;

        {

             printf("%d %d %d %d %d\n", a, b, c, d, e);

             printf("\n");

        }

    }

 

    return 0;

}

 

#22723: Re:C 為甚麼會錯


snakeneedy (蛇~Snake)


else e = d*c/b;
{
    printf("%d %d %d %d %d\n", a, b, c, d, e);
    printf("\n");
}

else 只會執行 e = d*c/b;,底下的大括號並不在 if-else 的範圍內 (即一定會執行)