디시인사이드 갤러리

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

갤러리 본문 영역

횽들 실력좀 볼까 ^^ c언어 scanf 함수 문제낼께 맞춰봐

샷거니갤로그로 이동합니다. 2011.03.21 20:17:59
조회 379 추천 1 댓글 14


    int a, b;
    scanf("%d %d\\n", &a, &b);

위 코드는 사용자로부터 2번의 입력이 아닌 3번의 입력을 받아. 왜그러게 ^^ 

12시 땡했으므로 정답 마감합니다. 정답자가 엄서서 치킨주인은 엄서요~

정답 추가함 ---------------------------------------------------------------

scanf의 뒤에 \\n을 붙였더니 한 번 더 입력 받는것은, scanf 함수는 data type 입력 string(" " 내부)에 공백(\\n, ,\\t,\\0)값은 무시하는데, 사용자로부터 데이터를 입력 받은 후에 데이터형 값을 인식하여 처리(지정한 주소에 저장하거나 무시)하여 그런 것입니다. 바로 무시처리 됩니다.

 

 

scanf 동작 원리를 간단히 살펴보면

                int a, b;

                scanf("%d %d\\n",  &a, &b);

이렇게 함수가 선언되었을 때 scanf 함수는 인자(parameter)로 string형의 여러 data type들("%d %d\\n"), int형의 a주소값, int형의 b주소값을 입력 받은 것을 볼 수 있습니다. 

 

그리고 scanf는 이 data type들이 적힌 string을 문장 끝(\\0)이 아닐 때까지 처음부터 한 글자씩 짚으면서

사용자로부터 입력 데이터를 받고-> 이를 원하는 data type의 값으로 만들어서-> 바로 다음 순서의 주소값에 이를 저장합니다. 

굵은글씨부분은 다음과 같은 알고리즘으로..

while((data type string을 가리키는 포인터) != \'\\0\')

{   

     switch(one_character)

    {

        case \'\\0\', \'\\t\', \'\\r\', \' \', \'\\n\' :

        continue;

        case \'%d\' :

        사용자입력값string을 4 byte 정수(int)로 변환하여 저장;

        case \'%c\' :   

        사용자입력값string을 1 byte 문자로 저장;

    }

    (data type string을 가리키는 포인터)++;

}

 

 

중간부분을 살펴보면 저런식으로(더 최적화되고 정교하게) 구현되어있을 거에요.

언뜻 생각하기에 공백이면 바로 무시해야지 입력을 먼저 받는 것이 이상하고 위험해 보일 수 있지만

어차피 나중에 수행하는 이 분류 switch문을 한 번의 수행으로 공백문자도 한번에 같이 분류하면 간단히 수행할 수 있어서 발생빈도 낮은 위험성을 버리고 함수의 최적화를 우선하여 정의했네요.
-----------------------------------------------------------
가 정답입니다.

추천 비추천

1

고정닉 0

0

원본 첨부파일 1

댓글 영역

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

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 외모와 달리 술 일절 못 마셔 가장 의외인 스타는? 운영자 24/07/01 - -
240254 으앜ㅋㅋㅋㅋ! [6] SODmaster갤로그로 이동합니다. 11.03.24 87 0
240253 그 교수에 그 제자 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ [11] 형들아(14.41) 11.03.24 262 1
240251 앜 ㅋㅋ 슈발 elwlwlwk갤로그로 이동합니다. 11.03.24 57 0
240250 기획 설계는 잘하는데 코딩못하면 어떡ㄹ함?? [7] JANGK(175.205) 11.03.24 139 0
240249 질문 하나만 할게요 [11] 죄송해요(211.112) 11.03.24 115 0
240247 짧은 지식으로 이해 안되는게 있는데... [2] 존홉킨스(121.186) 11.03.24 65 0
240246 C언어 fscanf 문제 [6] ㄱㄴㄷㄹ(222.108) 11.03.24 400 0
240245 컴퓨터 고수형님들 이거왜그런건지알수있을까요? [4] (183.99) 11.03.24 91 0
240244 현업에서 WPF 쓰는 살람 있냐? [6] 시카고불개미갤로그로 이동합니다. 11.03.24 195 0
240243 C랑 C++ 책좀 추천해줘~ [3] 스푼킬러갤로그로 이동합니다. 11.03.24 123 0
240242 ㅠㅠ.. 성님들 도와줘!! 기를 불어넣어줘!! [4] 니ㅎㅁ내꺼갤로그로 이동합니다. 11.03.24 49 0
240241 하나 물어보자 ㅋㅋ [18] C_Perl갤로그로 이동합니다. 11.03.24 131 0
240240 오랜만에 프갤입성 마타마타(125.176) 11.03.24 41 0
240239 이거 왜 한줄만 제대로 나오는건지....; [5] 어보미(221.146) 11.03.24 66 0
240238 컴퓨터공학과가 적성에 안맞는거같아... [6] 이민규(211.58) 11.03.24 238 0
240236 글삭튀 죄송했습니다... [1] 어보미(221.146) 11.03.24 53 0
240234 개샒기횽 봐라 일광면(119.198) 11.03.24 66 0
240232 형들.. 달력 조언좀 ㅠㅠ 니ㅎㅁ내꺼갤로그로 이동합니다. 11.03.24 28 0
240231 C프로그래밍 문제...ㅠ [7] 이민규(211.58) 11.03.24 105 1
240229 밑에 길찾기보다가 옛날 생각남. [1] java(125.183) 11.03.24 77 0
240227 나 다시 프로그래밍 공부 할꺼다 !!!!!!!!!!!!!!!! [2] C_Perl갤로그로 이동합니다. 11.03.24 122 0
240226 Process Flow 는 엑셀로 만드는거다! [1] 엑셀닭(211.248) 11.03.24 135 0
240225 동적메모리 하니깐 옛날 궁금증 질문 [4] 박장군(175.205) 11.03.24 63 0
240224 형들 프로그래밍 기초적인거 질문좀 할게;; ㅠㅠ [1] ㅇㅇㅇ(221.153) 11.03.24 90 0
240222 검색용으로 nutch 쓰는 사람 있어? ltw갤로그로 이동합니다. 11.03.24 58 0
240221 레지스터에도 주소가 있음? [2] 하앍하앍(123.199) 11.03.24 145 0
240220 내 리눅스는... [2] C_Perl갤로그로 이동합니다. 11.03.24 80 0
240219 이쯤되면 막 나가자는 거지요? [3] 분당살람갤로그로 이동합니다. 11.03.24 146 0
240218 이클립스 실행이안되는데 왜이럴까요 도와주세요 [1] ㅇㅇ(121.169) 11.03.24 86 0
240217 C언어... ㅎㅎ 형님들 도와줘 ㅠㅠ [9] 니ㅎㅁ내꺼갤로그로 이동합니다. 11.03.24 108 0
240216 오늘 야근... 밤새야하는데....... 까쓰랑(175.205) 11.03.24 46 0
240215 여기 자바스크립트 질문해도되나? [4] 잉여(210.2) 11.03.24 115 0
240213 킁킁 글삭튀의 향기다 허허벌판갤로그로 이동합니다. 11.03.24 33 0
240211 리눅스의 TailQ 써본사람 잇음? ㅇㅇ(122.128) 11.03.24 918 0
240210 횽들 프레임워크 질문좀 할께; 아약스(203.246) 11.03.24 54 0
240209 아...내 국어실력이 이렇게 딸리다니... [12] 도와주세요(219.249) 11.03.24 183 0
240208 프로그래밍 실력은 정말 뇌가 많이 좌우 하는 듯... [3] 허허벌판갤로그로 이동합니다. 11.03.24 140 0
240206 매트랩 하시는분~~ [12] 매트랩(112.159) 11.03.24 191 0
240205 싸구려 넷북이라도 하나사야겠어 써니덕후갤로그로 이동합니다. 11.03.24 95 0
240204 힛갤잉여보고 c플밍을해봣는데 [1] ㅎㅌ(220.68) 11.03.24 129 0
240203 홈피제작관련 질문좀 [9] 닭세권갤로그로 이동합니다. 11.03.24 84 0
240202 국어실력이 딸려서...아까꺼 다시 질문...길찾기. [7] 도와주세요(219.249) 11.03.24 87 0
240200 우씨 이상하네 이해가 불가능 [5] 자바배우는넘(175.205) 11.03.24 77 0
240198 긍정적 이야기 :: 프로그래밍 [15] 완소허이재갤로그로 이동합니다. 11.03.24 252 0
240197 회사에 나만 남았는데 [3] 허허벌판갤로그로 이동합니다. 11.03.24 100 0
240196 햐 아주 중요한 시험 36점 맞았다 헤헤 어슐러르귄갤로그로 이동합니다. 11.03.24 81 0
240195 자바를 보면서 이해가 좀 안가는게 있습니다 ㅜ.ㅜ [8] 자바배우는넘(175.205) 11.03.24 160 0
240194 천안날씨는 패닉 자취생੦ܫ੦갤로그로 이동합니다. 11.03.24 39 0
240193 성님들 마지막 질문임.. ㅠㅠ [2] 니ㅎㅁ내꺼갤로그로 이동합니다. 11.03.24 50 0
240192 대학교에서 님들도 언어 가르침?? [3] po게이wer갤로그로 이동합니다. 11.03.24 136 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2