Vấn đề
Xóa tất cả khoảng trắng từ chuỗi nhập runtime bằng while loop, kiểm tra khoảng trắng mỗi chỉ số.
Giải pháp
Ví dụ: "Tutorials Point C Programming" -> "TutorialsPointCProgramming".
Khai báo chuỗi: char stringname[size];
Khởi tạo
- Hằng ký tự đơn.
char string[10] = {'H','e','l','l','o','\0'}
- Hằng chuỗi.
char string[10] = "Hello";
Truy cập
Dùng "%s" truy cập đến '\0'.
Logic xóa khoảng trắng:
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++;
}
Ví dụ
Chương trình C xóa tất cả khoảng trắng:
#include <stdio.h>
int main(){
char string[50];
int i = 0, j, check;
printf("Nhap cau: ");
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("\nCau khong khoang trang: %s", string);
getch();
return 0;
}
Đầu ra
Kết quả chạy chương trình:
Lan 1: Nhap: Tutorials Point C Programming Ket qua: TutorialsPointCProgramming Lan 2: Nhap: Welcome to the world of tutorials Ket qua: Welcometotheworldoftutorials