在if语句中声明变量(ANSI C)
是否有任何方法可以在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(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;