본문 바로가기
C/Example

[C] 문자열 예제

by 꾸압 2021. 3. 9.

<예제.1>

#include <stdio.h>

int main(){
	
	int i;
	char str[4] = { 'a', 'b', 'c' };
	
	i = 0;
	while(str[i] != '\0'){
		
		printf(" %c", str[i] );
		i++;
	}
	
	return 0;
}

'\0' 은 NULL 값을 의미한다. 배열에 자료값이 없어 NULL이면 while 문을 나온다.

 

<예제.2>

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

int main(void){
	
	int i;
	char str[] = "hello";
	// str = 'JJ';
	
	strcpy(str, "JJ");
	printf("%s", str);
	
	char *p = "hi~~~";
	
	return 0;
}

 

 

<예제.3>

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

int main(void){
	
	int i;
	char str[] = "hello";
	// str = 'JJ';
	
	strcpy(str, "JJ");
	printf("%s", str);
	
	char *p = "hi~~~";
	p = "bye~~~";
	printf("%s", p);
	
	return 0;
}

 

 

<예제.4>

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

int main(){
	
	char c[] = "abbd";	//배열
	c[2] = 'c';
	printf("%s", c);
	
	char *pC = "abbd";	//포인터 
	pC = "test\n";		// test 가 저장된 주소값 
	printf("%s", pC); 
	
	return 0;
}

 

 

<예제.5>

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

int main(){
	
	int ch;
	while( ch != EOF){
		ch = getchar();
		putchar(ch);
	}
	
	return 0;
}

EOF : End Of File. 문자열의 끝

 

<예제.6>

문자를 입력하면 강제로 대문자로 변환하는 프로그램을 만드세요

 

<해설>

#include <stdio.h>	
#include <ctype.h>

int main(){
	
	int word;
	
	while(word != EOF){
		
		word = getchar();
		word = toupper(word);
		putchar(word);
	}
	
	return 0;
}

toupper 는 자료값이 문자라면 모두 대문자로 바꾼다.

변수 word 의 자료형이 'int' 임에도 문자를 출력 가능한 이유? 

-  문자든 숫자든 컴퓨터는 숫자로 연산을 처리하기 때문이다.

 

'C > Example' 카테고리의 다른 글

[C] 구조체 예제  (0) 2021.03.12
[C] 구조체 예제  (0) 2021.03.10
[C] 포인터 예제  (0) 2021.03.09
[C] 좌석 예약 프로그램 (배열)  (0) 2021.03.08

댓글