Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在if语句中声明变量(ANSI C)_C_Variables_If Statement_Ansi_Declare - Fatal编程技术网

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

在if语句中声明变量(ANSI C),c,variables,if-statement,ansi,declare,C,Variables,If Statement,Ansi,Declare,是否有任何方法可以在if语句中声明变量(仅使用ANSI C) 示例: if(int variable = some_function()) { return 1; } 不,你不能那样做 您可以做的是仅为if { int variable; variable = some_function(); if (variable) return 1; } /* variable is out of scope here */

是否有任何方法可以在if语句中声明变量(仅使用ANSI C

示例:

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

不,你不能那样做

您可以做的是仅为
if

    {
        int variable;
        variable = some_function();
        if (variable) return 1;
    }
    /* variable is out of scope here */
注意,对于这种简单的情况,您可以调用函数作为
if
的条件(不需要额外变量)


不允许。这在C中是不允许的。根据,if语句的语法是
if'('expression')'语句
<代码>表达式无法解析为
声明
,因此无法像示例中那样将声明放入if语句中。严格使用格式为
type var=value
的经典声明来声明变量?不,语法不是最新的(但特定的产品没有改变)。请注意,该语法中的
IF
指的是
IF
关键字(
IF
是一个普通标识符)。ISO C标准中的语法是
if
expression
语句或
if
expression
语句
else
语句
if (some_function()) return 1;