PGR21.com
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date 2010/07/05 09:01:29
Name Ibiza
Subject 씨언어 질문좀 드리겠습니다.
안녕하세요
뒤늦게 씨언어를 공부하고 있는 늦깍이학생입니다.
문자열과 단어 하나를 입력하고 그 단어가 문자열 중에서 몇개나 나오는지 계산하는 프로그램을 짜고 있습니다.
아래는 제가 짠 코드입니다.

#include <stdio.h>
#include <string.h>

int main(void){

        char str[256];
        char *ptr;
        int count=0;
        char letter;
        
        printf("Input any sentence without blank: ");
        scanf("%s", str);
        
        printf("Input any character: ");
        scanf("%c", &letter);
        
        for (ptr=str;;){
        
                ptr = strchr(ptr,letter);
                if (ptr == NULL)
                        break;
                count++;
                ptr++;
        
        }//for
        
        printf("There are %d numbers of the character '%c' in the string", count,letter);

}//main

문제는 컴파일을 하면
Input an sentence without blank: ~~~까지는 잘나오는데
그다음엔 바로
Input any character: There are 0 numbers of the character가 출력돼어 버립니다.
섬머세션으로 짧고 굵게 C언어를 공부하다보니
기초적인 면이 많이 부족하네요.
피지알에만 신세지는것 같아 마음이 무겁습니다.
어느부분이 잘못됐는지 확인해주시면 정말 감사할게요~
한국은 아침이겠네요. 좋은하루돼세요~

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
꿀호떡a
10/07/05 09:54
수정 아이콘
scanf("%c", &letter); 이게 무시된다는 말씀이시죠? :)
왜냐하면, 그 전 줄인 scanf("%s", str);에서 문자열만 가져가고 끝에 입력하셨을 엔터(\n)을 가져가지 않기 때문에, 그 다음 입력에서 letter에 버퍼에 남아있던 \n가 들어가서 그렇습니다.
해결책은,

char letter_buffer[5];
scanf("%s", letter_buffer)
letter = letter_buffer[0];

과 같이 %c 대신 string으로 입력받아 0번지를 취하시면 됩니다 :)
10/07/05 10:21
수정 아이콘
꿀호떡 님의 말씀이 맞구요.
다양한 해결책이 있겠지만 가장 간단한 방법은
scanf("%c", &letter);
윗줄에
getchar();
한줄 넣어주세요. :)
이게 어떤 의미 인지는 스스로 알아보시는 것도 좋을 것 같네요. 절대로 설명하기 귀찮아서가 아닙니다 크크크;;
10/07/05 10:58
수정 아이콘
꿀호떡a님// 빅뱅님// 감사합니다~ 속이 다 후련하네요 하하 좋은하루 돼시길 바랍니다~!
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
85514 짝짝이 어깨 때문에 고민입니다. [3] 레드나이3652 10/07/05 3652
85513 훈민메모패드, 한컴쪽지...다른 회사 사람들하고 가능한가요? [1] 고등어3마리2425 10/07/05 2425
85512 씨언어 질문좀 드리겠습니다. [3] Ibiza1363 10/07/05 1363
85511 소개팅에 나가서 할 노래개그와 마음가짐에 대해 질문입니다... [8] 쓰고이2497 10/07/05 2497
85510 이미지파일 코드 질문 [1] MinWoo1538 10/07/05 1538
85509 슈퍼주니어 강인이 입대를 한다고 합니다. [11] DeadOrUndead2591 10/07/05 2591
85508 '지금 만나러 갑니다' '국화꽃향기' 같은 영화 추천 부탁드립니다! [5] 껀후이2727 10/07/05 2727
85506 대구시 열람실 질문입니다~ [1] 초록추억2020 10/07/05 2020
85505 핸드폰 기계값 할부 질문입니다. [4] 임헐크님1706 10/07/05 1706
85504 오래된 그래픽카드..드라이버 찾기가 힘드네요 [6] goGo!!@heaveN.2251 10/07/05 2251
85503 고용량 동영상만 보면 버벅거립니다 [7] 라캉~2147 10/07/05 2147
85502 이별노래 질문입니다. [16] 스카이_워커2093 10/07/05 2093
85501 엘꼴라시코가 뭔가요?? [15] SwEeTy5385 10/07/05 5385
85500 스타2 돌아가는 컴퓨터 [1] 우리아버1679 10/07/05 1679
85498 비니 괜찮은 스타일 파는곳 아시나요? Kaga1559 10/07/04 1559
85497 허리고쳐주는 병원이 없네요;; [7] 루니2115 10/07/04 2115
85496 자동 로그인 다들 잘 되시나요? [7] Utopia2149 10/07/04 2149
85495 핸드폰 관련해서 질문올립니다..(SKT 사용자인데, 계약시 문제입니다.) [5] 공업저글링1345 10/07/04 1345
85494 IE8 사용중인데요.. 궁금한점이..^^: [2] 마르키아르1586 10/07/04 1586
85493 여기서 검색어 입력하니깐 오류나는거 같은데 저만 그런가요? [4] Liberal1352 10/07/04 1352
85490 금융 상품중에 ELW가 무엇인가요? [3] 상코마네1623 10/07/04 1623
85489 갤럭시 s관련 질문입니다. [1] 네오1823 10/07/04 1823
85487 windows7 Professoinal 구입에 앞서 질문드립니다. [3] Joon1434 10/07/04 1434
목록 이전 다음
댓글

+ : 최근 6시간내에 달린 댓글
+ : 최근 12시간내에 달린 댓글
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기