#include <stdio.h>

/* ------------------------- 함수 선언 ------------------------- */
// 반환값 함수이름(매개변수);
    /*----기본 함수----*/
void printLine();
void add();
void name();

    /*----매개변수 & 반환값----*/
void addNum(int a);
void subNum(int a, int b);
int box(int num);
int mul(int x, int y);

/* --------------------------- main ---------------------------- */
int main() {
    // 함수 호출
    // 함수이름(전달값);
    /* ------------------- 기본 함수 연습 ------------------- */
    printLine();
    printLine();
    
    add();

    printLine();
    name();
    printLine();
    
    printf("\n\n");
    /* ---------------- 매개변수 & 반환값 ------------------ */
    addNum(11);
    addNum(22);
    subNum(11, 10);
    
    int result = box(50);
    printf("%d\n", result);

    printf("%d\n", box(50));

    printf("-----문제----\n");
    int answer = mul(7, 3);
    printf("%d\n", answer);

    printf("%d\n", mul(7, 3));

    
    printf("\n\n");
    /* -------------------- 배열 선언 ---------------------- */
    // 배열 : 같은 자료형의 값을 하나의 이름으로 묶어서 저장하는 공간
    
    // 배열 선언
    // 자료형 배열이름[배열크기];
    int score[5];

    score[0] = 100;
    score[1] = 90;
    score[2] = 80;
    score[3] = 70;
    score[4] = 60;

    for (int i = 0; i < 5; i++) {
        printf("%d ", score[i]);
    }
    printf("\n");
    
    // 배열 한 번에 초기화
    int score2[] = {1, 2, 3, 4, 5};
    
    for (int i = 0; i < 5; i++) {
        printf("%d ", score2[i]);
    }
    printf("\n");

    printf("\n\n");
    /* ------------------- 문자열 배열 --------------------- */
    //자료형 배열이름[배열크기]
    char str1[] = "coding";
    // 문자열의 마지막에는 널null문자 \0가 들어있다
    // 널null문자 : 문자열의 끝을 알려주는 문자
    printf("%s\n", str1);
    printf("%ld\n", sizeof(str1));

    for (int i = 0; i < sizeof(str1); i++) {
        printf("%d ", str1[i]); //아스키 코드
    }
    printf("\n");

    char kor[] = "박주현";
    printf("%s\n", kor);
    printf("%ld\n", sizeof(kor));
    //한글은 한 글자 당 3바이트 + \0

    
    printf("\n\n");
    /* ------------------ 2차원 배열 ---------------------- */
    // 자료형 배열이름[세로크기][가로크기];
    int arr1[2][5];
    arr1[0][4] = 100;
    arr1[1][0] = 200;
    
    int arr2[2][3] = {
    {10, 20 ,30}, 
    {40, 50, 60}
};
    printf("arr2의 [0][0]: %d\n", arr2[0][0]);
    printf("arr2의 [1][1]: %d\n", arr2[1][1]);

    printf("----문제----\n");
    int arr3[4][2] = {
    {1, 2}, 
    {3, 4},
    {5, 6},
    {7, 8}
};

    for (int i = 0; i < 4; i++) {
        for (int j = 0; j < 2; j++) {
            printf("arr3[%d][%d] = %d\n", i, j, arr3[i][j]);
        }
    }

    
    return 0;
}


/* --------------------------- 함수 정의 --------------------------- */
    /*----기본 함수----*/
void printLine() {
    printf("------------\n");
}

void add() {
    int a = 11, b = 4;
    printf("%d\n", a + b);
}

void name() {
    char username[20];  
    scanf("%s", username);
    printf("이름 : %s\n", username);
}

    /*----매개변수 & 반환값----*/
//반환값X 매개변수O
void addNum(int a) {
    printf("%d + %d = %d\n", a, 10, a + 10);
}

void subNum(int a, int b) {
    printf("%d - %d = %d\n", a, b, a - b);
}

// 반환값O 매개변수O
int box(int num) {
    return num + 5;
}

int mul(int x, int y) {
    return x * y;
}

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: