문자열을 회전하는 코드 작성, strlen, strcpy 함수 사용
원본 문자열이 PROGRAM. 일 때 다음처럼 출력하는 코드를 작성하시오.
0:ROGRAM.P
1:OGRAM.PR
2:GRAM.PRO
3:RAM.PROG
4:AM.PROGR
5:M.PROGRA
6:.PROGRAM
7:PROGRAM.
소스 코드
#include <string.h>
#include <stdio.h>
#pragma warning(disable:4996)//4996 경고 메시지 무시
int main()
{
char str[] = "PROGRAM.";
int sl = strlen(str);//sl = 문자열 길이
char ch = 0;
for (int i = 0; i < sl; i++)
{
ch = str[0];//맨 앞의 문자를 기억
strcpy(str, str + 1);//(str+1)주소에 있는 문자열을 str에 복사(두 번째 문자부터 복사)
str[sl - 1] = ch;//맨 앞의 문자를 맨 뒤에 배치
printf("%d:%s\n", i, str);//출력
}
return 0;
}