C언어 아주 초보적인 질문좀 다시보니까..
글쓴이: min2to / 작성시간: 목, 2006/03/23 - 11:31오후
오늘 새로운걸 보았네여 그전에는 읽다가 책에서 않보였던게..
/////////////////////////////////////////////////////////////////////
#include
int main(void)
{
int val=10;
int val1=(val--)+2;
printf("val: %d\n", val);
printf("val1: %d\n", val1);
return 0;
}
////////////////////////////////////////////////////////////////////
답
val:9
val1:12
어떻해 이렇게 값이 나오나여?....
val값을 "val1=(val--)+2" 뒷쪽에서 감소시키는데.. val값까지 어떻게 영향을 받는지.;;
이해가 않가네여 순서도 좀 알려주셨으면 합니다;;
///////////////////////////////////////////////////////////////////
int gkgk=10;
printf("%d\n",gkgk++) // 답 10
printf("%d\n",gkgk) // 답 11
///////////////////////////////////////////////////////////////////
이런 연산은 알겟는데.. 저위에같은 연산은 어떤순서로 연산이 이루어지는지
솔직히 말해서 모르겟습니다;;
Forums:
val-- 뒤에 + 2가
+2 연산할때 val--하고 다시 printf에서 호출이 되는거니까 --가 적용된 상태에서..
당연히 9가 나오죠
그리고 밑에 gkgk++는 프린터아웃 한 다음에 증가하는거죠..
Be cool...
Be cool...
모르는건 물어보라구
모르는건 물어보라구 엄마 아빠가 알려주셧습니다
고수님,선배님들 도와주십쇼 독학하는 학생입니다
이해가 않가여.... 위에꺼 순서도 좀 그려주시면 ㅠ.ㅠ...
모르는건 물어보라구 엄마 아빠가 알려주셧습니다
고수님,선배님들 도와주십쇼 독학하는 학생입니다
postfix 연산자인
postfix 연산자인 ++이나 --는 결과를 먼저 리턴하고 값을 증감시킵니다.
大逆戰
大逆戰
모르는건 물어보라구
모르는건 물어보라구 엄마 아빠가 알려주셧습니다
고수님,선배님들 도와주십쇼 독학하는 학생입니다
int val=10; //val 10값
int val1=(val--)+2; //val-- 10값에서 printf("%d",val) 9
//10+2 printf("%d",val1) 12
이렇게 하는게 맞는지요?.. ()라 햇갈려서여;
모르는건 물어보라구 엄마 아빠가 알려주셧습니다
고수님,선배님들 도와주십쇼 독학하는 학생입니다
제 생각엔 여기에
제 생각엔 여기에 질문 올리는것보다는 책에서 전/후위 연산 부분을 찾아서 정독하는게 이해하시기가 더 빠를것 같습니다. 어떤 책이던지 전/후위 연산은 다 설명을 하고 있고 직접 이래저래 소스코드를 변경하면서 테스트 해보면 이해가 되실겁니다.
======================
BLOG : http://superkkt.com
======================
BLOG : http://superkkt.com
int val1=(val--)+2; // val1
int val1=(val--)+2; // val1 = val + 2 그후에 val-1
저도 헷갈려서 저런식으로는 안씁니다.
그렇게 하는거군여;;
오리님 감사합니다 으궁.. ;; 머리아파~
모르는건 물어보라구 엄마 아빠가 알려주셧습니다
고수님,선배님들 도와주십쇼 독학하는 학생입니다
댓글 달기