[완료][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
네... 찾아보고 알았습니다..ㅎㅎ
감사합니다..
댓글 달기