2016-08-02 3 views
-1

정적 정수 변수는 함수 내에서 선언됩니다. 함수가 호출 될 때 변수는 1 씩 증가합니다. 함수가 호출되어 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 리턴; 예 : 초기화는 한 번만 발생하고 변수는 foo()에 대한 이후의 모든 호출에 대해 그 값을 유지합니다.

0

클래스의 멤버를 정적으로 선언 할 때 클래스의 개체 수에 관계없이 정적 멤버 복사본이 하나만 존재 함을 의미합니다. 정적 멤버는 클래스의 모든 객체가 공유합니다. ITS의 값이 0

관련 문제