[완료][C언어] 대소문자 변환하기에서 띄어쓰기 부분 질문입니다..
글쓴이: mewestside / 작성시간: 토, 2012/07/07 - 4:21오후
#include <stdio.h> #include <stdlib.h> #include <string.h> int main (int argc, char **argv) { int i, j, n, k; char input[BUFSIZ]; char output[BUFSIZ]; scanf("%s", input); n = strlen(input); for (i=0; i<n; i++) { if (input[i] >= 'a' && input[i] <= 'z') { output[i] = input[i] - 32; } else if (input[i] >= 'A' && input[i] <= 'Z') { output[i] = input[i] + 32; } else { output[i] = input[i]; } } output[i] = '\0'; printf("%s", output); printf("\n"); return 0; }
다음과 같이 코딩을 하였습니다.
실행을 해서
apple 이라고 입력하면 APPLE 라고 나옵니다..
apple BANANA 라고 입력하면 APPLE 만 출력이 됩니다..
APPLE banana 라고 띄어쓰기 포함해서 출력되게 하려면 어떻게 해야할까요?
Forums:
scanf가 그렇게 동작하는거지... 님이 짠 코드가
scanf가 그렇게 동작하는거지...
님이 짠 코드가 띄어쓰기를 처리 못하는게 아닙니다.
답변감사합니다..
scanf 에 대해 정확히 모르고 있었기에 생긴 문제점 이었네요...
fgets(input, BUFSIZ, stdin);
fgets(input, BUFSIZ, stdin); 를 해보세요.
"Time you enjoy wasting, was not wasted" - John Lennon
답변감사합니다..
답변감사합니다..
어떻게 적용시킬까 찾다가보니 scanf 처럼 쓸수 있는 함수였네요..ㅎ
참...
참, scanf("%s", input); 대신 넣으시면 됩니다.
"Time you enjoy wasting, was not wasted" - John Lennon
네... 찾아보고 알았습니다..ㅎㅎ
감사합니다..
댓글 달기