수다닷컴

  • 해외여행
    • 괌
    • 태국
    • 유럽
    • 일본
    • 필리핀
    • 미국
    • 중국
    • 기타여행
    • 싱가폴
  • 건강
    • 다이어트
    • 당뇨
    • 헬스
    • 건강음식
    • 건강기타
  • 컴퓨터
    • 프로그램 개발일반
    • C언어
    • 비주얼베이직
  • 결혼생활
    • 출산/육아
    • 결혼준비
    • 엄마이야기방
  • 일상생활
    • 면접
    • 취업
    • 진로선택
  • 교육
    • 교육일반
    • 아이교육
    • 토익
    • 해외연수
    • 영어
  • 취미생활
    • 음악
    • 자전거
    • 수영
    • 바이크
    • 축구
  • 기타
    • 강아지
    • 제주도여행
    • 국내여행
    • 기타일상
    • 애플
    • 휴대폰관련
  • 프로그램 개발일반
  • C언어
  • 비주얼베이직

너무 많이 질문하는게 아닌지 모르겠네요;;

하늘

2023.04.01


/* op5.c*/
#include stdio.h
int main(void)
{
int val1=10;
int val2=(val1--)+2;
printf(val1 : %d \n, val1);
printf(val2 : %d \n, val2);
return 0;
}

오류는 아닙니다.
증감 연산자에 대한 문의 입니다.
책에 있는 예제고 결과를 보면
val1 : 9
val2 : 12
로 나옵니다. 그런데 제가 생각하기는 조저히 이해가 안가는게.. val1은 그냥 10으로 초기화한값이 추력되는건데 -1이 되었고 val2는 12로 그대로 나왔는지가 의문입니다.
만약 괄호안에 값이 먼저 연산이 되야한다면 val2값도 11이 되어야 하는게 아닌가요?
그리고 val2값이 선언될때 val1--이 되기 때문에 그당시 -1이 된거고 그래서 val1이 9로 입력이된건가요?
그리고 연산이라는 말이어려운데 쉽게 말하자면 뭐 없을까요;;;?

마지막으로..
op1.obj : error lnk2005: _main already defined in op6.obj
debug/op6.exe : fatal error lnk1169: one or more multiply defined symbols found
error executing link.exe.

이런 애러가 자꾸뜹니다.. 어떤때 뜨냐면 한가지 예제파일을 만들어보고 컴파일 하고 링크하고 실행까지 시켜서 확인후
다음 예제로 넘어가면 컴파일은 아무 문제 업는데 링크만하면 이런 에러가뜹니다. 근데 희한하게 프로그램을
껏다 키면 됩니다 ㅡ,.ㅡ 잠깐 찾아봣는데 메인을 선언을 두번해서 그렇다고 그랬는데 그래서 제가 그전에 햇던
것을 어떻게 좀 해보려 햇는데 비주얼스튜디오란 프로그램이 너무 생소해서 어떻게 해야할지 모르겟네요..
이것도 어떻게 해결이 안될까요;?

신청하기





COMMENT

댓글을 입력해주세요. 비속어와 욕설은 삼가해주세요.

  • Elfin

    서운하게 들리실지 모르겠으나 노파심에 한 마디 드리자면...
    본 사이트의 취지가 소스등의 정보를 공유하기 위한 차원임에도
    나름 q&a에 대해서는 많은 분들이 참여해주고 계시지만
    개인 학습을 위한 학원이 아닌 이상은 시간만 투자하면 해결 가능한
    사소한 것까지 일일이 답을 얻기란 쉽지 않을것입니다.
    초반에는 어느 정도 사람들이 많이 도와줍니다만...
    그 정도가 심해지면 결국에는 도움이 필요할때 버림받게 될 수 있습니다.

    기초 공부를 하는 도중에 부딪히는 대

  • 두힘

    흠... 보통은... 저런식의 사용을 권장하지 않습니다.
    이유는 베어님과 같은 분들을 위해서 그렇습니다.

    즉, 가독성이 떨어진다는 것이겠지요?

    주로 얼마나 정확하게 해당 문법을 이해하고있는지 등의 예제나..
    시험에나 나올 만한 예제로 보시면 무난할 것 같습니다.
    요즘은, 저런식으로 작성한 소스는 좋은 이미지를 남기지는 않습니다.

    물론, 저 정도는 상당히 매너적인 소스입니다.
    세부적인 실행에 대해서는 인터넷에서 연산자 우선순위와 관련된
    글들을 많이

  • 철죽

    int val2=(--val1)+2;

    처럼 -- 연산자가 변수명 앞에 사용되었으면,

    val1 = val1 - 1;
    int val2 = val1+2;
    의 2라인 문장을 한 라인에 적용한 경우입니다.

    즉, val1 = val1 - 1;
    이라는 문장을 해당 라인 앞에서 실행 할 것인지..
    뒤에서 실행할 것인지로 생각하시면 됩니다.
    상당히 복잡하게 꽈 놓은 예제들도 많습니다만...
    증감 연산자에 대한 상세한 자료들도 많으니 인터넷 찾아 보시고...
    왠만한

  • 지후

    ++
    --
    같은 증감 연산자는 변수명 앞에 붙는지..
    뒤에 붙는지에 따라서 연산 결과가 달라집니다.

    세부적인건 연산자 우선순위와 관련된 글 찾아보시고...

    int val2=(val1--)+2;

    의 경우 대입 연산자인 =가 가장 연산 순위가 낮 습니다.
    괄호가 연산순위가 가장 높기때문에 괄호안의 val1-- 가 제일먼저 실행됩니다.
    val1 --는 val1 = val1 - 1 을 축약한 것입니다.
    하지만, --가 변수명 뒤에 사용되었기때문에
    적용시기

  • 또야

    그러면 순서가 이것인가요 va1=10선언 val2선언 하면서 그때 저장되어있는val1이 마이너스
    하지만 val2는 연산후 감소니 마이너스 되기전 val1값에다가 +2를해서 12가 되는건가요?

번호 제 목 글쓴이 날짜
2701748 아이피 변경 부분이요... 날애 2025-07-17
2701665 자바스크립트 // 왜 if 두개를 쓰면 오류가 나죠? (2) 글리슨 2025-07-16
2701636 모바일웹 게시판 만들기 조언좀 부탁드려요 ㅜㅜ (2) 정훈 2025-07-16
2701610 [질문] AS3 액션으로 스테이지 사이즈를 조절할 수 있는 방법이 있을까요? (1) 앵겨쪼 2025-07-15
2701556 input text에 한글을 default 하려면.. (3) 히나 2025-07-15
2701528 apmsetup 접속이.... (5) 곰돌이 2025-07-15
2701506 암호를 *로 (6) 도도한 2025-07-14
2701475 배열최대값 찾기인데; 소스좀 해석해주세요; Orange 2025-07-14
2701397 세로 100% 푸터부분이 바닥에 안붙어요(세로 100% 되는 소스를 썼거든요) 꽃겨울 2025-07-13
2701369 [긴급]로드해온 swf가 갑자기 사라지는 현상..(익스10) (2) 곰돌이 2025-07-13
2701340 [c++]학교 과제 질문이요...... (3) 기쁨해 2025-07-13
2701311 구글 뉴스검색최적화 작업은 누구의 영역인가요? 많은 조언 부탁드려요! 리나 2025-07-13
2701285 아이폰이나 안드로이드 폰 인터넷으로 볼때 배꽃 2025-07-12
2701230 테마 설정하면 밑에 뜨는 글 삭제 (1) 창의적 2025-07-12
2701177 css적용이 안되요~ (6) 다니엘 2025-07-11
2701151 사이트작업시 inputbox 가 readonly 형태표시 어떻게 하시나요? (1) 찬내 2025-07-11
2701123 간단한 select 질문입니다 (3) 천사의눈물 2025-07-11
2701061 비베질문.. 똘끼 2025-07-10
2701034 메일폼 내 script 삽입가능한 방법 없을까요.. (2) 마음새 2025-07-10
2701008 분명히 버튼을 만들었는데 액션이 안걸립니다. (3) 재찬 2025-07-10
<<  이전  1 2 3 4 5 6 7 8 9 10  다음  >>

수다닷컴 | 여러분과 함께하는 수다토크 커뮤니티 수다닷컴에 오신것을 환영합니다.
사업자등록번호 : 117-07-92748 상호 : 진달래여행사 대표자 : 명현재 서울시 강서구 방화동 890번지 푸르지오 107동 306호
copyright 2011 게시글 삭제 및 기타 문의 : clairacademy@naver.com