본문 바로가기

공부/C언어

(C 예제) scanf 몇 가지 예제(소문자 입력 대문자 출력/입력받은 문자열 출력)

소문자 1개를 입력받고, 대응하는 대문자를 출력

// 소문자 1개를 입력받고, 대응하는 대문자를 출력
void main(void)
{
	char n;
	printf("알파벳 하나를 입력: ");
	scanf("%c", &n);

	printf("알파벳 소문자 %c에 대응하는 대문자는 %c", n, n - 32);
}

아스키 코드를 이용했음.

n - 32 대신에 n - ('a'-'A')를 사용해도 무방함.


단어(문자열) 하나 입력받고, 입력받은 단어를 출력

// 단어(문자열) 하나 입력받고, 입력받은 단어를 출력
void main(void)
{
	char n[100];

	printf("영어 단어 하나 입력: ");
	scanf("%s", n); //&n이 아님

	printf("입력한 단어는 %s임.\n", n);
}

크기가 100인 char형 배열을 선언. (저장할 수 있는 문자는 99개)

%s는 입력 값을 배열 형태의 문자열에 저장가능. (stdio.h에서 선언됨)

 

입력된 문자에 공백이 있으면, 공백 전까지만 저장됨.

입력된 문자외에 남는 공간에는 null 문자가 들어감.

일반적인 변수와는 달리 배열 앞에는 &를 붙이지 않음. ( 배열은 포인터 주소를 가지고 있음)