joong
489
2022-05-23 07:41:37
7
180

c++ 증감연산자 질문


#include <iostream>


using namespace std;


int main() {

int x = 10;

int y = 11;


int z = x++, y++ ;


cout << z << endl;

}

여기서 y++에 지역 변수가 초기화 되지 않았다고 오류가 나는데 왜 그런지 이해가 안되서요

위에 y =11로 해놨는데 왜 에러가 날까요?

연산자 우선순위 때문인걸까요?

0
  • 답변 7

  • 사공즌자
    560
    2022-05-23 07:57:04

    다음과 같이 변경하신 후 다시 테스트해보세요. 

    int z = x++;
    y++;


  • defult
    18k
    2022-05-23 08:53:54 작성 2022-05-23 08:54:13 수정됨

    같은 데이터형 변수 세미콜론으로 끊지않고 쉼표로 여러개 동시에 처리하는것은 선언할때말고는 허용되지않습니다.

  • 개발정복
    2k
    2022-05-23 10:50:13

    어떤 동작을 원해서 저런 코딩을 한건지 궁금하네요 ㅎㅎ

  • 나도이젠맥북오우너
    1k
    2022-05-23 13:19:13

    정말로 어떤 결과를 얻기위해 쓴 코드인지 궁금합니다. 비꼬는것 아닙니다.

  • joong
    489
    2022-05-23 19:37:14

    그냥 공부하면서 이것저것 다 해보는 중입니다

  • 개발정복
    2k
    2022-05-24 02:05:43

    이것저것을 해보는 건 알겠는데

    저렇게 코딩을 한 목적이 궁금한거예요...

    어떻게 돌아가겠다고 예상을 하고 코드를 짜잖아요

    그냥 아무생각없이 코드 넣어봤다는건 그거대로 잘못된거구요

  • joong
    489
    2022-05-25 23:43:30

    그 쉼표 연산자를 사용해서  마지막 값이 들어가는 연산이 되는 부분이 있더라고요 

    그래서 그것을 저렇게 증감 연산자를 이용했을 때도 가능한지 궁금해서 해봤습니다

  • 로그인을 하시면 답변을 등록할 수 있습니다.