주어진 문자열
ch
ch2
을 알고리즘을 이용해 덧붙여 출력하시오.
score : 300
#include <stdio.h>
int main(void) {
char ch[30] = "score : ";
char ch2[30] = "300";
int i = 0;
while (ch[i] != '\0')
i++;
for (int j = i; ch2[j-i] != '\0'; j++)
ch[j] = ch2[j - i];
printf("%s\n", ch);
return 0;
}
char ch[30] = "score : ";
char ch2[30] = "300";
덧붙일 문자열인 ch
와 ch2
가 주어진다.
int i = 0;
while (ch[i] != '\0')
i++;
첫번째 문자열인 ch
의 길이를 구하기 위해 ch
의 값이 null
이 아닐 때까지 i
를 1
씩 증가시키며 while문
을 반복해서 돌린다.
i
를 while문
밖에 둔 이유는 아래의 for문
에서도 i
의 값이 쓰일 것이기 때문이다.
for (int j = i; ch2[j-i] != '\0'; j++)
ch[j] = ch2[j - i];
앞에서 구한 i
는 곧 ch
의 비어있는 첫 번째 방이기 때문에 그 다음 요솟값인 j
에 i
를 저장한다. 이 for문
도 마찬가지로 null
값이 있을 때까지 for문
을 반복한다.
비어있는 방인 ch[j]
부터 차근히 ch2
의 문자를 저장한다. j-i
를 해야 ch2
의 요솟값이 0
부터 차례로 증가하게 된다.
printf("%s\n", ch);
return 0;
ch
와 ch2
를 합친 문자열 배열인 ch
를 출력한 뒤 프로그램을 종료한다.
score : 300