在 if 语句中声明变量 (ANSI C)

Declare variable in if statement (ANSI C)

有没有办法在if语句中声明变量(使用ANSI C[仅 =20=]) ?

示例:

if(int variable = some_function())
{
    return 1;
}

不,你不能那样做。

你可以做的是为 if

    {
        int variable;
        variable = some_function();
        if (variable) return 1;
    }
    /* variable is out of scope here */

请注意,对于这种简单的情况,您可以调用函数作为 if 的条件(不需要额外的变量)

if (some_function()) return 1;