디시인사이드 갤러리

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

갤러리 본문 영역

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

어떡해갤로그로 이동합니다. 2009.12.13 22:19:00
조회 609 추천 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
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 우리나라를 대표해서 UN 연설자로 내보내고 싶은 스타는? 운영자 25/09/29 - -
AD 프로게이머가 될테야!! 운영자 25/10/01 - -
공지 프로그래밍 갤러리 이용 안내 [96] 운영자 20.09.28 47630 65
2893922 '김종국 신부 인스타 떴네요! 프갤러(14.52) 07:21 3 0
2893920 '속보' 신지 예비남편이랑 파혼하네요ㄷㄷ.. 프갤러(14.52) 07:14 7 0
2893919 'ㅎㅂ' 윤 공주 실시간 라방킴ㄱㄱ ㅇㅇ(118.129) 07:11 7 0
2893918 'ㅎㅂ' 윤 공주 실시간 라방킴ㄱㄱ 프갤러(14.52) 07:10 7 0
2893917 'ㅎㅂ) 벗방 시작한 강 인 경 프갤러(14.52) 07:07 8 0
2893916 'ㅎㅂ' 윤 공주 실시간 라방킴ㄱㄱ ㅇㅇ(118.129) 07:07 7 0
2893915 '김종국 신부 인스타 떴네요! 프갤러(14.52) 07:04 7 0
2893914 'ㅎㅂ' 윤 공주 실시간 라방킴ㄱㄱ ㅇㅇ(118.129) 07:02 7 0
2893912 어느 카페 ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 06:56 8 0
2893910 태연 ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 06:55 8 0
2893909 하루 한 번 헤르미온느 찬양 헤르 미온느갤로그로 이동합니다. 06:54 9 0
2893906 나는 이해가 안가는게 왜 지가 하고 싶은걸 남한테 하지말라 듣고있냐 ㅆㅇㅆ(124.216) 06:52 11 0
2893900 33 고졸 비전공 개발자 하지마? [1] 프갤러(122.199) 06:38 14 0
2893861 개발자분들은 [1] 프갤러(211.204) 05:15 29 0
2893835 타직종인데 개발자로 테크트리 다시타고싶습니다 [11] 프갤러(115.21) 01:39 59 0
2893834 이번 체인소맨 영화 재밌게 봤으면 발레리나를 봐보셈... ㅇㅇ(223.39) 01:38 23 0
2893830 신입한테요구하는거 죤나많네 시발새끼들 프갤러(211.235) 01:23 36 0
2893827 34살에 빚이천만원있음.. [3] ㅇㅇ(175.197) 01:00 60 0
2893826 이번 추석명절 유흥 반값에 가는법 꿀팁 ㅇㅇ(118.235) 00:47 24 0
2893825 4050이 나라를 살린다 [1] 야옹아저씨갤로그로 이동합니다. 00:14 46 0
2893824 로코프로토콜로 뭐만들면 불법임? 프갤러(124.59) 00:08 25 0
2893821 막걸리 한 병 깠다 [4] ㅇㅇ(121.168) 10.03 42 0
2893818 공산독재 리죄명 치하에서 이진숙 강제체포 여파 큰듯 [1] ♥냥덩이♥갤로그로 이동합니다. 10.03 51 0
2893816 나님 내년 1분기까지 노워킹 온리조깅으로 30km 도전 [2] ♥냥덩이♥갤로그로 이동합니다. 10.03 46 0
2893813 현시대는 토발즈도 1찍 짱깨편인 무서운 시대이다ㅋㅋ번식 더 해줘라 이기 타이밍뒷.통수한방(1.213) 10.03 23 0
2893809 지듣노 ㅁㅌㅊ? [3] 노력갤로그로 이동합니다. 10.03 46 1
2893808 인생은 운이다 [2] ㅇㅇ(121.168) 10.03 45 1
2893807 걷기 싫어하는 나님의 습성도 리죄명 짱깨 무비자 입국에서 비롯됐다 [3] ♥냥덩이♥갤로그로 이동합니다. 10.03 43 0
2893805 ㄸㄸㄹ ♥냥덩이♥갤로그로 이동합니다. 10.03 21 0
2893801 rtos 리스트 하드웨어 잘되는 순서로 정렬 발명도둑잡기(118.216) 10.03 37 0
2893799 ■요즘 Si 신입 대세포폴이 뭐에요? [3] ㅇㅇ갤로그로 이동합니다. 10.03 52 0
2893795 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ ♥냥덩이♥갤로그로 이동합니다. 10.03 45 0
2893794 저녁 아직 안 먹었는데 [1] 발명도둑잡기(118.216) 10.03 43 0
2893793 노오오력 하면 된단다 발명도둑잡기(118.216) 10.03 28 0
2893791 엠마 왓슨이 범죄의 아이콘이 된 이유 발명도둑잡기(118.216) 10.03 38 0
2893789 Wolfenstein3D on 8bit consoles 발명도둑잡기(118.216) 10.03 23 0
2893786 공부에 다른방도 없는듯... 그냥 매일 계속 꾸준히 하는것밖에 없음 ㅇㅇ(223.39) 10.03 32 1
2893782 차단해도 댓글 계속 달리는거 ㄹㅇ 짜증남 ㅆㅇㅆ(124.216) 10.03 36 1
2893778 ㅆㅇㅆ 접밥 비린내나는 새기가 먼 gpt를 이겨 ㅋㅋ 프갤러(210.217) 10.03 66 6
2893777 내가 느끼는게 아무리 날고 기어도 구현을 지피티 못이기겠음 [2] ㅆㅇㅆ(124.216) 10.03 75 0
2893776 일본 취업 유학 워홀 여행 관련모임 ㅇㅇ(106.146) 10.03 61 0
2893775 형이 드디어 돈복사 프로그램 만듬 [1] ㅇㅇ(14.5) 10.03 41 0
2893773 이번에 GPT랑 나랑 같은거 코딩해봤는데 지피티가 훨 낫더라. [2] ㅆㅇㅆ(124.216) 10.03 72 3
2893772 힙합 갤러리 10조 갑부 발명도둑잡기(118.235) 10.03 22 0
2893769 ■WSL→도커→이클립스 이렇게쓰는데 쓸데없는짓임? [4] ㅇㅇ갤로그로 이동합니다. 10.03 64 0
2893768 오늘 중국친구가 나보고 재능있대서 기분좋음 [3] ㅆㅇㅆ찡갤로그로 이동합니다. 10.03 50 0
2893764 여러분 ai 코딩 플러그인으로 쓰시나요? [1] ㅇㅇ(106.102) 10.03 32 0
2893761 이번 연휴 달붕이들 꿀팁 푼다 꼭 봐라ㅋㅋㅋㅋ ㅇㅇ(118.235) 10.03 30 0
2893760 AI 로 코딩하기.....ㅋㅋㅋㅋ [1] 프갤러(59.16) 10.03 51 0
뉴스 '마이 유스' 이주명, 서지훈 눈물에 어깨 토닥! 설레는 변화 디시트렌드 10.02
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2