Is there any way to declare variable in if statement (using ANSI C only) ?
Example:
if(int variable = some_function())
{
return 1;
}
No, you cannot do that.
What you can do is create a compound statement (anonymous or hanging block) just for the if
{
int variable;
variable = some_function();
if (variable) return 1;
}
/* variable is out of scope here */
Note that for this simple case you can call the function as the condition of the if
(no need for an extra variable)
if (some_function()) return 1;