2016-08-02 7 views
-1

静的整数変数は、関数内で宣言されています。関数が呼び出されると、変数は1だけインクリメントします。この関数は呼び出され、3回返します。 3番目の関数呼び出しの変数の値は何ですか?返されるときの値は何ですか?関数内で宣言された静的変数の値は何ですか?

+3

機能/コードを表示してください。 – Shravan40

+0

#include using namespace std; int foo(); int main(){ int a; a = foo(); a = foo(); cout << a << endl; a = foo(); cout << a; \t return 0; } int foo(){ static int x; x ++; // cout << x; return x; } – Gurpreet

答えて

0
int foo() { 
    static int x = 0; 
    x++; 
    return x; 
} 

キーワードとプログラムの寿命に可変の寿命を延長するstatic作用を開始する場合

ので、3を返します。例えば初期化は1回だけ行われ、変数はその後のすべてのfoo()の呼び出しで値が保持されます。

0

クラスのメンバーを静的として宣言すると、クラスのオブジェクトの数が何であっても、静的メンバーのコピーは1つのみです。静的メンバーは、クラスのすべてのオブジェクトによって共有されます。その値が0

関連する問題