언어/C언어

[C언어] 배열(array) / 문자열 받기 gets() /문자열 출력 puts()

antoroong 2025. 3. 3. 22:43

문자열 받기 gets()

#include<string.h>


int main(void) {

	
	/*
	문자열 함수 #include<string.h>
	*/

int resul_7 = array_char_7();  //문자열 입력 받는 함수 : gets()
	return 0;
}

int array_char_7() {

	printf("----------- array_char_7 시작 -----------\n");

	/*
	 문자열 입력 받는 함수 : gets()   

	 *scanf와 다른점  gets는 null도 받는다
	*/

	char ch[20];
	char ch1[20];

	int r1, r2;

	printf("문자를 입력해 주세요");
	gets(ch);

	printf("문자를 입력해 주세요");
	gets(ch1);


	r1 = strlen(ch);
	r2 = strlen(ch1);

	printf("첫 번째 문자열의 길이값 : %d\n", r1);
	printf("두번째 문자열의 길이값 : %d\n", r2);


	printf("----------- array_char_7 종료 -----------\n");

}

 

 

 

 

문자열 출력 puts() 

#include<string.h>


int main(void) {

	
	/*
	문자열 함수 #include<string.h>
	*/
int resul_8 = array_char_8();  //문자열 출력 : puts()
	return 0;
}

int array_char_8() {

	printf("----------- array_char_8 시작 -----------\n");

	/*
	 문자열 출력  함수 : puts()
	 
	 *printf와 다른점  puts는 라인개행을 하지 않아도 알아서 된다
	*/

	char ch[20];
	char ch1[20];

	int r1, r2;

	puts("문자를 입력해 주세요");
	gets(ch);

	puts("문자를 입력해 주세요");
	gets(ch1);


	r1 = strlen(ch);
	r2 = strlen(ch1);

	printf("첫 번째 문자열의 길이값 : %d\n", r1);
	printf("두번째 문자열의 길이값 : %d\n", r2);


	printf("----------- array_char_8 종료 -----------\n");

}

 

 

 

 

문자열 scanf와 gets의 차이점

#include<string.h>


int main(void) {

	
	/*
	문자열 함수 #include<string.h>
	*/

int resul_9 = array_char_9();  //gets와 scanf 차이점
	return 0;
}

int array_char_9() {

	printf("----------- array_char_9 시작 -----------\n");

	/*
	 gets 와 scanf의 차이 

	 get는 공백을 포함하지 않는길이 
	 scanf는 공백을 포함한 길이
	*/

	char ch[20];
	char ch1[20];

	int r1, r2;

	puts("문자를 입력해 주세요");
	gets(ch);

	puts("문자를 입력해 주세요");
	scanf(ch1);


	r1 = strlen(ch);
	r2 = strlen(ch1);

	printf("첫 번째 문자열의 길이값 : %d\n", r1);
	printf("두번째 문자열의 길이값 : %d\n", r2);


	printf("----------- array_char_9 종료 -----------\n");

}

 

 

 

 

 

문자열 scanf 로 입력받은거 거꾸로 출력하기

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

int main(void) {

	//문자형 배열

	/*

	문자형 배열(=문자열) :

		char c[3] = {’a’, ’b’, ’c’} —> 문자형은 이렇게하면안됨

		방법 —>  char c[4] = {’a’, ’b’, ’c’, \0’}  또는 char[4] = “abc” 라고함
	*/

 

	printf("----------- array_char_11 시작 -----------\n");

	/*
	 문자열을 입력 받아서 역순으로 출력하는 소스 코딩 scanf() 이용
	*/

	char ch[20];
	char result[20];
	int i, count;



	printf("문자열을 입력하세요\n");
	scanf("%s", ch);

	count = strlen(ch);

	for (i = 0; i < count; i++) {
		result[i] = ch[count - (i + 1)];

	}

	result[count] = '\0'; //맨마지막에 널값 넣어주기


	printf("ch1값은 %s\n", result);

	printf("----------- array_char_11 종료 -----------\n");


	return 0;

}