2017-04-26 9 views
0

声明場合(ANSI Cのみを使用して)で変数を宣言する方法はありますか?宣言変数(ANSI C)

例:

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

よれ – BLUEPIXY

+1

http://stackoverflow.com/questions/8474100/where-you-can-and-cannot-declare-new-variables-in-c –

+4

Cに許可されていない号 [ANSI C文法](https://www.lysator.liu.se/c/ANSI-C-grammar-y.html#expression)には、if文の文法は「IF」(「式」)です'ステートメント'。 'expression'は' declaration'に解決できないので、あなたの例のようにif文に宣言を入れる方法はありません。 –

答えて

2

いいえ、あなたはそれを行うことはできません。あなたは何ができるか

はちょうどこの単純なケースのためにあなたがifの条件としての機能を呼び出すことができることをif

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

注意(余分な変数は必要ありません)

のためのブロックを作成しています
if (some_function()) return 1;