c语言if else 语句

img

为什么语句[2]成立的时候,执行的是y=x-1而不是y=2x?

img

循环并不一定按照题目上的顺序写。

y=2x属于else里面的语句。

我重新整理了下,稍微规范点写法长下边这样,你或许就能看懂了:

#include <iostream>
#include <string>
using namespace std;

int main() {
    
    int x, y;
    scanf_s("%d", &x);
    if (【1】)
    {
        y = x * (x + 2);
    }
    else if (【2】)
    {
        y = x - 1;
    }
    else
    {    
        
    }
    if (y != -1)
    {
        printf("%d", y);
    }
    else
    {
        printf("error");
    }
    system("pause");
    return 0;
}

感覺是題目錯了