게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
c언어 연산자 우선순위 예제 질문
게시물ID : programmer_9542짧은주소 복사하기
작성자 : ㅜ_ㅠ
추천 : 0
조회수 : 2061회
댓글수 : 10개
등록시간 : 2015/04/25 08:24:21
비주얼 c에서 아래의 예문을 실행하니까
#include <stdio.h>
void main(void)
{
int a = 1, b = 0, c = -1, d = 0;
d = ++a || ++b && ++c;
printf("a = %d  b = %d  c = %d  d = %d\n", a, b, c, d);
}
a=2 b=0 c=-1 d=1

이 나오는데
배운대로다면 먼저 &&가 || 보다 우선순위가 위니까
++b && ++c가 실행되어서 b=-1,c=0, ++b && ++c=0
그리고 ++a||(++b && ++c)은 a=2 그래서 2||0이니까 1 d=1이므로

a=2 b=1 c=0 d=1인거 같은데
어떻게 저 a=2 b=0 c=-1 d=1이 나오는지 아시는 분 없나요?
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호