금지 키워드로 [ 가 설정되어 있으므로 인덱스 기능을 이용해서는 풀지 못하고, 역참조 연산자를 사용해야 한다.

(char 자료형 크기 * 100) 크기의 메모리를 할당한 포인터를 생성하고 할당한 메모리 공간에 문자열을 입력받는다.

부분 문자 시작 위치와 끝 위치로 사용할 변수 a,b를 선언하고 입력받는다.

반복문으로 a-1부터 b보다 작을때 까지 반복하여 역참조 연산자를 사용하여 문자를 출력한다.

정답은 다음 코드와 같다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
#include <stdlib.h>
 
int main() 
{
    char *sPtr = malloc(sizeof(char* 100);
    scanf("%s", sPtr);
    
    int a, b;
    scanf("%d %d"&a, &b);
    
    for(int i = a-1; i < b; i++)
    {
        printf("%c"*(sPtr + i));    // 역참조 연산자 
    }
    return 0;
}
cs

+ Recent posts