디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

어떡해 일기 #8 :: 조건문 학습중...

어떡해갤로그로 이동합니다. 2009.12.13 22:19:00
조회 603 추천 0 댓글 13



어떡해 일기는 제가 \'쓸만한 프로그래머\'가 되기까지의 하루하루를 기록해 나갈 것입니다.
이것은 제가 그날 하루동안 프로그래머가 되기 위해 노력한 사항과 에피소드를 만천하에 공개하여,
저 스스로 나태해지지 않도록 채찍질 하기 위함과 동시에 선배님들에게 조언을 구하고자 함입니다.
자유분방한 DC에서 올라가는 글인 만큼 그날의 기분에 따라 존칭, 돌연 막말 등 일관성 없는 말투가 있을 수 있습니다.

길다는 의견이 많아 앞으로는 되도록 일기를 짧게 쓰도록 합니다.
더 많은 형들과 이야기를 공유하기 위해서입니다.

+++++++++++++++++++++++
현재 사용중인 교재+++++++++++++++++++++++++++++

주교재 : 윤성우의 \'열혈강의 C프로그래밍\' (FREE LEC)
부교재 :  BRIAN W. KERNIGHAN , DENNIS M.RITCHIE의 C언어 프로그래밍(대영사)
              세계제일 C언어 시작하기 (베스트북)

1주차 :: 기초 함수, 조건문, 반복문, 변수와 상수 기초 이해.  (\'09. 12. 14 부터 시작)

==========================================시작

본래라면 오늘 조건문을 끝낼 생각이었는데 그러하질 못했습니다;

한창 if문과 조건연산자를 공부하고, 예제를 풀고 있는데 쉬워보이는 예제가 있더군요.

)) 두개의 정수를 입력받아서 차를 구하는 프로그램을 구현하되, 입력받은 순서와 상관없이 큰 수에서 작은 수를 한다.(항상 양수값 출력)

if문으로 하면 간단한 문제라는 판단하에 곧장 작성을 하려다가 때마침 바로 전 페이지에 조건 연산자라는 재미있는 것을 배운 터라

예제의 의도가 아닌 다른 방향으로 문제 풀이를 해보기로 했습니다.

if 문과  조건 연산자를 동시에 사용한 코드로 말이죠.

====== 아래는 작성한 코드입니다.

 #include <stdio.h>

 int main(void)
{
    int sum = 1, x, y;

    printf("두개의 정수를 입력해주세요, 큰것에서 작은 것을 뺍니다. 값은 항상 양수입니다. : ");
    scanf("%d %d", &x, &y);

    sum=(x>y)? \'1\':\'2\'; //1은 x가 크다, 2는 y값이 크다.

    if (sum==1)
        printf ("%d 값에서 %d값을 뺍니다. 결과는 %d 입니다.\\n", x,y, x-y);
    else
        printf ("%d 값에서 %d값을 뺍니다. 결과는 %d 입니다.\\n", y,x, y-x);


    return 0;
       
}

아, 근데 자꾸 입력받은 정수값의 크기와 관계없이 y-x의 형태로만 계산을 하는 겁니다.

횽들은 아시겠죠, 왜 작동을 하지 않는지;

네, 조건문에 의해 입력되는 sum의 값이 \'문자\' 1로 입력되고, 차행의 if문의 조건 검색시에는 문자 1과 숫자 1을 비교하게 됩니다.
문자 1의 경우 아스키 코드 값에서 정수값으로 변환 시키니 정수값 49가 나오더군요.
49와 1이 같은 값이 다르니, 코드는 자꾸 else 로만 흐르게 되고 입력값에 관계없이 y-x 형태의 계산만 진행되는 거였습니다.
방법은 간단하게
    if (sum==1)을     if (sum==\'1\')으로 바꿔주면 끝날 문제였죠. 아니면 위의 조건문을 숫자값으로 바꾸던가.

이걸........ 이 간단한 걸.............. 3시간 동안 고민해버렸네요;;;

이 과정에서 이 짧은 코드때문에 담배 4개 피우고;

근데, 정말 마침내 원인 파악이 됐을때는 몸에 전율이 흐르더군요;

ㅎㅎ

그리고 이번기회에 제가 코딩을 할때 잘못하고 있는 것들을 짚어볼 수 있었습니다.
일단 코딩 자체가 익숙하지 않다보니 무심결에 printf를 pritnf로 쓸때가 간혹 있더군요;
또 연산명령을 내리는 \';\'세미콜론의 경우도 때때로 빼먹는 경우도 있고.
숫자를 문자화 시키는 \'1\'따옴표의 경우도 \'1 로 끝난 경우도 있고.

이점은 아직 짧은 코드만 치는 과정에서는 원인파악이 쉽지만 장문의 코드를 작성할때에는 원인파악이 치명적으로 힘들어질 수 있음을 깨달았습니다.
당분간은 조금 속도가 늦더라도 신중히 코딩하는 습관을 길러야겠습니다.

하지만 덕분에 조건문에 대해서 뭔가 감이 온 것 같기도 합니다.

내일 쯤 조건문을 복습하고 비타500횽의 말씀대로 제가 공부한 조건문에 대해서 정리해보려고 합니다.
오늘은 여기까지 하겠습니다.

오늘 일기 끄 ㅌ













추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 연예인 안됐으면 어쩔 뻔, 누가 봐도 천상 연예인은? 운영자 24/06/17 - -
163628 윈도 기반에서 아이폰앱 개발하기 [2] Vita500갤로그로 이동합니다. 09.12.21 199 0
163627 정말 혼자있고 싶다. [17] yundream(211.189) 09.12.21 154 0
163626 크리스마스.. [2] CCC(203.237) 09.12.21 77 0
163625 쑤컹쑤컹은 나쁜뜻이 아니다. [2] 개쉛기갤로그로 이동합니다. 09.12.21 1496 0
163622 사람들의 인터넷 커뮤니케이션이 점점 짧고 가벼워지고 있다. [7] 피로토스갤로그로 이동합니다. 09.12.21 140 0
163621 혼자 있고 싶습니다. 모두 나가주세요. [1] Gromit갤로그로 이동합니다. 09.12.21 93 0
163620 님들 컴퓨터학원 어디가 좋아요? [4] ㅁㄵ(218.154) 09.12.21 133 0
163617 objective 우앙ㅋ algo갤로그로 이동합니다. 09.12.21 91 0
163616 여기가 실망했다는 소리를 들은 개쉛기가 있는 프갤인가요? [4] 연화갤로그로 이동합니다. 09.12.21 155 0
163614 봉지라면을 그냥 우걱우걱 씹어 먹었습니다. [6] algo갤로그로 이동합니다. 09.12.21 107 0
163613 공지 추가내용 [3] Vita500갤로그로 이동합니다. 09.12.21 103 0
163612 근데 object oriented가 객체지향이라는 게 정확한 번역일까? [20] 오사카(125.176) 09.12.21 262 0
163611 형들 자바에서 jbutton 누르는 메소드가 뭐야? [3] ㅋㅋㅋㅋ(210.110) 09.12.21 112 0
163610 내가 듣고 있는노래 [1] Vita500갤로그로 이동합니다. 09.12.21 49 0
163609 저 취업했습니다!! [6] 고민남(125.128) 09.12.21 234 0
163608 이게 바로 한국축구에 대한 세계의 인식 [16] ㅎ3(112.222) 09.12.21 219 0
163607 오늘 드디어 **a 더블 포인터를 들어갔다. [8] 어떡해갤로그로 이동합니다. 09.12.21 188 0
163606 오랫만에 보신탕 [4] 유리한갤로그로 이동합니다. 09.12.21 128 0
163605 아놔, 나보고 프로프레임 해보는게 어떠냐고 그러네..ㅋ [10] ㅇㅇ(210.94) 09.12.21 190 0
163604 리눅스, C 함수 질문이요 [1] 수학의정석(115.21) 09.12.21 99 0
163603 물상무 지금 퇴근... [2] 물속의다이아갤로그로 이동합니다. 09.12.21 86 0
163602 너넨 지금 뭔가 단단히 착각하고있는데 [8] 개쉛기갤로그로 이동합니다. 09.12.21 175 0
163601 한쿡은 CEO도 벽돌처럼 찍어낸다능 [4] 오사카(125.176) 09.12.21 154 0
163600 Nujabes - Counting Stars [2] 좇문가갤로그로 이동합니다. 09.12.21 58 0
163598 크리스마스에는 뭐가 동난다? [1] 케케켁켁갤로그로 이동합니다. 09.12.21 117 0
163597 처음 이력서를 써봤는데.txt 숙신갤로그로 이동합니다. 09.12.21 136 0
163595 아주아슬 횽도... [1] Gromit갤로그로 이동합니다. 09.12.21 72 0
163594 사람 앞에 두고 매몰차게 관둔다는 말 하기가 쉽지 않아. [7] 아주아슬갤로그로 이동합니다. 09.12.21 115 0
163593 점심식사_후_노곤해지는_횽들을_위한_눈세척.jpg [1] 숙신갤로그로 이동합니다. 09.12.21 164 0
163592 회사에 지각했다아아아ㅏ [2] Q Lazzarus갤로그로 이동합니다. 09.12.21 99 0
163591 회사서 애니틀어노코 로동하는데 [2] 세브(211.117) 09.12.21 94 0
163590 오늘 솔루션 신규 개발건으로 PM을 하라고 했는데... [12] 물속의다이아갤로그로 이동합니다. 09.12.21 142 0
163589 소프트웨어 디자인은 이쯤되어야 디자인좀 한다고 할수있슴 Vita500갤로그로 이동합니다. 09.12.21 118 0
163588 형들 Capture solution xe 라는 프로그램 어디서구해? [1] 나니아(219.254) 09.12.21 161 0
163587 아이언맨 2 [3] Vita500갤로그로 이동합니다. 09.12.21 106 0
163586 물먹는다이아횽 사직서 쓰는 방법이야~ [4] Gromit갤로그로 이동합니다. 09.12.21 780 1
163585 익스플로러에서 구글 G메일 첨부파일 안 열리자 않음? [2] 오사카(125.176) 09.12.21 171 0
163584 XNA 좋은점 불친절한프로도갤로그로 이동합니다. 09.12.21 81 0
163583 active x 가 문제긴 문제야.. 더러운 빌의 노예들... [6] rntjr갤로그로 이동합니다. 09.12.21 157 0
163582 학교 도서관에서 디씨질 하는게 자랑 [1] JuEUS-U갤로그로 이동합니다. 09.12.21 67 0
163580 오럴컷이 뭡니까?? 오럴컷(210.217) 09.12.21 50 0
163579 캐꼬꼬닭 횽은 봄니다. [2] 이웃집또테러갤로그로 이동합니다. 09.12.21 44 0
163577 직장인들아 밥은 먹고 하냐?? [3] rntjr갤로그로 이동합니다. 09.12.21 126 0
163576 같은 회사를 다른 헤드헌터 통해서 10번 이상 받게 되었는데... [7] 물속의다이아갤로그로 이동합니다. 09.12.21 200 0
163574 ms와 애플의 디자인 철학의 차이 [9] 피로토스갤로그로 이동합니다. 09.12.21 301 0
163573 브리트니 사망 뉴스,.. 낚시 쩐다 허허벌판갤로그로 이동합니다. 09.12.21 114 0
163572 이 정도는 되야 여자가 안 생김 [1] nRST갤로그로 이동합니다. 09.12.21 136 0
163569 반전 영화의 최고봉은.. [8] yundream(211.189) 09.12.21 184 0
163568 아프로 아프로. [1] yundream(211.189) 09.12.21 71 0
163567 횽들 울트라서프가 해킹툴 맞음? [1] 一●番(118.42) 09.12.21 354 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2