강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

onjiwon2님의 프로필 이미지
onjiwon2

작성한 질문수

it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비

7. 영어 단어 복구(문자열 컨트롤)

컴파일은 되는데 결과값이 달라요

작성

·

260

0

저는 결과값이 왜 이렇게 나올까요? 

맥에서 xcode사용하는데 이거 때문일까요?

#include <stdio.h>

using namespace std;

int main() {

    freopen("input.txt","rt",stdin);

    char a[101], b[101];//배열 a는 에러난거 담을 곳, 배열 b는 고친거 담을 곳

    int i, p=0;//p는 옮겨 닮을 변수

    gets(a);

    fgets(a,101,stdin);

    for(i=0;a[i]!='\0';i++){

        if(a[i]!=' '){

            if(a[i]>=65 && a[i]<=90){//대문자일 경우 소문자로 바꾸기 위해 32더해줌

                b[p++]=a[i]+32;

            }

            else b[p++]=a[i];

        }

    }

    b[p]='\0';

    printf("%s", b);

    return 0;

}

답변 1

0

김태원님의 프로필 이미지
김태원
지식공유자

맥을 사용해 본적이 없어서 xcode때문인지 아닌지는 모르겠습니다.  다만 코드를 보면  gets(a)가 파일에서 한 줄을 읽어 a배열에 저장하기 때문에   fgets(a, 101, stdin) 라인이 필요없어 보입니다.

 fgets(a, 101, stdin)를 지우고 실행을 해보세요.

onjiwon2님의 프로필 이미지
onjiwon2

작성한 질문수

질문하기