게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
C언어 공부중 논리연산자부분이 궁금합니다!
게시물ID : programmer_2259짧은주소 복사하기
작성자 : 그냥가는리신
추천 : 1
조회수 : 455회
댓글수 : 5개
등록시간 : 2014/03/31 10:39:48
안녕하세요. 프로그래머 선배님들! C언어 공부중인 한 직장인입니다..
 
죄송하지만 무언가 이해가 되지 않는 부분이 있어서 이렇게 질문을 올리게 되었습니다.
 
 
-----------------------
#include
 
int main(void)
{

 int A = 1, B = 0;
 int result;
 
 result = (B && ++A);
 printf("%d \n", A);
 
 result = (A || ++B);
 printf("%d \n", B);
 
 return 0;

}
-----------------------
 
 
 
이러한 코딩을 했고
결과값이
 
 
 
-----------------------
1
0
-----------------------
 
 
 
이렇게 나왔습니다. 여기서 제가 궁금한점은. SCE로 인하여 result변수에 출력된 결값이 나오는 것은 이해가 되었는데
 
분명 저는 printf에 A변수를 출력하라고 입력했고, 그 밑에도 printf에 B변수를 출력하라고 입력햇으니 결과는 2, 1이 나와야하는 것 아닌가요?
 
왜 결과물에는 A,B의 값이 아닌 result의 값이 나왔는지가 궁금합니다.
 
 
 
제가 추측하는건
 
 result = (B && ++A);
이 부분에서. 결과값은 다시 A에 저장된다는 것인가요?
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호