在运行时借助while循环,通过检查字符每个索引处的空格,从输入的字符串中删除所有多余的空格。
考虑下面给出的示例-
它从给定的字符串中删除所有空格。给定的字符串是(cainiaojc.com) C编程。删除空格后的结果是nhoooCProgramming。
字符数组称为字符串。
下面给出的是字符串的声明-
char stringname [size];
例如,char string [50]; 长度为50个字符的字符串。
使用单个字符常量。
char string[10] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’ ,‘\0’}使用字符串常量。
char string[10] = “Hello”:;
控制字符串“%s”用于访问字符串,直到遇到“ \ 0”为止。
我们用来删除字符串之间多余空格的逻辑如下-
len = strlen(string);
for(i=0; i<len; i++){
if(string[0]==' '){
for(i=0; i<(len-1); i++)
string[i] = string[i+1];
string[i] = '\0';
len--;
i = -1;
continue;
}
if(string[i]==' ' && string[i+1]==' '){
for(j=i; j<(len-1); j++){
string[j] = string[j+1];
}
string[j] = '\0';
len--;
i--;
}
}以下是使用字符串概念删除句子中所有多余空格的C程序-
#include<stdio.h>
int main() {
char string[200];
int i, j, len;
printf("输入声明: ");
gets(string);
len = strlen(string);
for(i=0; i<len; i++) {
if(string[0]==' ') {
for(i=0; i<(len-1); i++)
string[i] = string[i+1];
string[i] = '\0';
len--;
i = -1;
continue;
}
if(string[i]==' ' && string[i+1]==' ') {
for(j=i; j<(len-1); j++) {
string[j] = string[j+1];
}
string[j] = '\0';
len--;
i--;
}
}
printf("\nNew String after removing extra spaces is = %s", string);
getch();
return 0;
}输出结果执行以上程序后,将产生以下输出-
输入声明: Welcome to The world of C programming New String after removing extra spaces is = Welcome to The world of C programming