문제
문자의 각 인덱스에서 공백을 확인하여 while 루프를 사용하여 런타임에 입력된 문자열에서 모든 공백을 제거합니다.
해결책
아래 주어진 예를 고려하십시오 -
주어진 문자열에서 모든 공백을 제거합니다. 주어진 문자열은 튜토리얼 포인트 C 프로그래밍입니다. . 공백을 제거한 후의 결과는 TutorialsPointCProgramming입니다. .
문자 배열을 문자열이라고 합니다.
아래는 선언입니다. 문자열 -
char stringname [size];
예를 들어, char string[50]; 길이 50자의 문자열.
초기화
- 단일 문자 상수 사용
char string[10] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’ ,‘\0’}
- 문자열 상수 사용.
char string[10] = “Hello”:;
액세스
'\0'이 나타날 때까지 문자열에 액세스하는 데 사용되는 제어 문자열 "%s"가 있습니다.
문자열 사이의 공백을 제거하는 데 사용한 논리는 다음과 같습니다. -
while(string[i]!='\0'){ check=0; if(string[i]==' '){ j=i; while(string[j-1]!='\0'){ string[j] = string[j+1]; j++; } check = 1; } if(check==0) i++; }
예시
다음은 문자열 개념을 사용하여 문장의 모든 공백을 제거하는 C 프로그램입니다 -
#include<stdio.h> int main() { char string[50]; int i=0, j, check; printf("Enter any statement: "); gets(string); while(string[i]!='\0') { check=0; if(string[i]==' ') { j=i; while(string[j-1]!='\0') { string[j] = string[j+1]; j++; } check = 1; } if(check==0) i++; } printf("\nSentence without spaces: %s", string); getch(); return 0; }
출력
위의 프로그램이 실행되면 다음과 같은 출력을 생성합니다 -
Run 1: Enter any statement: Tutorials Point C Programming Sentence without spaces: TutorialsPointCProgramming Run 2: Enter any statement: Welcome to the world of tutorials Sentence without spaces: Welcometotheworldoftutorials