본문 바로가기

스터디/코딩

[ 코딩 도장 : C ] Unit 41. 문자열의 길이를 구하고 비교하기 : 연습문제 / 심사문제

41.4 연습문제 : 문자열 길이 구하기

문제) 다음 소스 코드를 완성하여 10이 출력되게 만드세요.

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

int main()

{
    char* s1 = "C Language";

    printf("%d\n", strlen(s1));

    return 0;

}

 

 

41.5 연습문제 : 문자열 비교하기

문제) 다음 소스 코드를 완성하여 0이 출력되게 만드세요.

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

int main()
{
    char s1[50] = "Pachelbel Canon";
    char* s2 = "Pachelbel Canon";

    int ret = strcmp(s1, s2);

    printf("%d", ret);

    return 0;
}

 

 

41.6 심사문제 : 문자열 길이 구하기

문제) 표준 입력으로 길이 30 이하의 어떤 문자열이 입력됩니다. 입력된 문자열의 길이를 출력하는 프로그램을 만드세요(scanf 함수 호출 전에 문자열을 출력하면 안 됩니다).

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

int main()
{
    char s1[31];
    scanf("%s", s1);

    printf("%d", strlen(s1));

    return 0;
}

 

 

41.7 심사문제 : 문자열 비교하기

문제) 표준 입력으로 길이 30 이하의 문자열 두 개가 입력됩니다(입력되는 문자열은 공백으로 구분됩니다). 두 문자열이 같은지 다른지 비교 결과를 정수로 출력하는 프로그램을 만드세요(scanf 함수 호출 전에 문자열을 출력하면 안 됩니다).

주의사항: strcmp 함수는 윈도 플랫폼과 리눅스/macOS 플랫폼에서 반환값이 다릅니다. 이에 대해서는 Unit 41.2(547쪽)의 '리눅스와 OS X에서 strcmp 함수의 반환값 규칙입니다' 부분을 참고하세요.
온라인 심사는 리눅스에서 실행됩니다. 따라서 strcmp 함수의 반환값을 반환하는 코드로 작성해야 합니다.

 

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

int main()
{
    char s1[31];
    char s2[31];
    scanf("%s %s", s1, s2);

    printf("%d", strcmp(s1,s2));

    return 0;
}