본문 바로가기

C언어

[C언어 기초] static변수, while문과 break문을 이용한 반복횟수 및 프로그램 종료

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// 0225.cpp : Defines the entry point for the console application.
// 곱셉프로그램이긴한데
// 중요한건 작동횟수랑 break문!
 
#include "stdafx.h"
void multiple(int a, int b)
{
    static int count = 0;
    count++;
    printf("곱한 결과는 %d야\n지금 %d번째 실행이다\n\n\n", a*b, count);
    //사실 굳이 이 함수 만들필요는 없음
    //static 변수 선언 해보려고 한거
}
 
int main()
 
{
    int num1, num2;
 
    while (1)  //break문으로 탈출 원할 때
        //빼고는 계속 반복하게 무한 반복문 생성
    {
 
        printf("곱할 숫자 두개 입력해라~~\n");
        scanf_s("%d %d"&num1, &num2);
        if (num1 == 0 && num2 == 0break;
        multiple(num1, num2);
 
 
    }
 
}
 
 
cs

 st

static변수가 뭐냐면 그냥 말그대로 정적인 변수랄까?

처음에 multiple 함수 선언할 때에만 static이 들어간 줄을 수행함.

그럼 첨에 multiple 할 때는 count=1로 초기화 시키고

그 다음 multiple수행할때는 거기 빼고함! 그래서 계속 count=1로 초기화 되는게 아니라

그냥 count++만 수행~



----------------------------------


이거 초보 때 만든 거라 포인터를 안 썼는데

만약 printf문이 함수 생성 밖, main 안에 있으면 뭔 짓을 하던

count ++; 부분은 multiple함수 안에서만 적용되고 그 함수를 나오면

count 값은 어차피 원래 그대로로 저장됨. 자세한 건 포인터 공부 해보시길 바람!