在运行时借助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