c++ 잊었던것, 사소한것

백준 5597 배열 초기화 안해서 틀렸는데

시코. 2024. 1. 18. 18:48
728x90

g++에서는 초기화 안해도 자동으로 false로 초기화가되는것같다?

#include<iostream>
using namespace std;
int main()
{
    cin.tie(NULL);
    cin.sync_with_stdio(false);
    //처음엔 이상하다 vscode에선 잘되는데 버전 차이인가 생각했었다만 컴파일러 차이였다
    //초기화 하지 않고 사용시 g++에서는 잘 작동하고(초기화 안해도 0이 되는듯 cl(마소컴파일러)에서는 쓰레기값이 설정 되는것 같다. 
    //근데 초기화를 왜 안했었냐 ㅠㅠ 에러도 안떠서 당황했네
    bool a[31] = {};

    for (int i = 1; i <= 28; i++)
    {
        int o;
        cin >> o;
        a[o] = true;
    }
    int count = 0;
    for (int i = 1; i <= 30; i++)
    {
        if (a[i] == false)
        {
            cout << i << '\n';
            count++;
        }
        if (count == 1)
        {
            cout << i;
            break;
        }
    }
}
728x90