본문 바로가기

C 언어/연습문제

C언어 연습문제41

[문제]

다음과 같이 총 3개의 배열을 선언한다.
char str1[20];
char str2[20];
char str3[40];

그리고는 str1과 str2를 통해서 프로그램 사용자로부터 문자열을 입력 받되, fgets 함수호출을 통해서 입력 받는다. 이어서 str1에 저장된 문자열을 str3에 복사하고, str2에 저장된 문자열을 str3에 저장된 문자열의 뒤에 덧붙이자. 그리고 마지막으로 str3에 저장된 문자열을 출력하자. 

예를 들어서 str1과 str2에 저장된 문자열이 각각 다음과 같다면,
str1 "simple"
str2 "string"

str3에는 문자열 "simplestring"이 저장되어야 한다.

 

[실행결과]

문자열 입력1: simple
문자열 입력2: string
조합의 결과: simplestring

 

[코드]

#include<stdio.h>

int main(void)
{
	char str1[20];
	char str2[20];
	char str3[40];

	fputs("문자열 입력1: ", stdout);
	fgets(str1, sizeof(str1), stdin);
	str1[strlen(str1) - 1] = 0;

	fputs("문자열 입력2: ", stdout);
	fgets(str2, sizeof(str2), stdin);
	str2[strlen(str2) - 1] = 0;

	strncpy(str3, str1, sizeof(str3));
	strcat(str3, str2);

	printf("조합의 결과: %s \n", str3);

	return 0;
}

 

<참고>

윤성우의 열혈 C 프로그래밍

'C 언어 > 연습문제' 카테고리의 다른 글

C언어 연습문제43  (0) 2022.04.08
C언어 연습문제42  (0) 2022.04.06
C언어 연습문제40  (0) 2022.04.06
C언어 연습문제39  (0) 2022.04.01
C언어 연습문제38  (0) 2022.04.01