C程序使用字符串概念删除句子中的空格。

问题

在运行时借助while循环,通过检查字符的每个索引处的空格,从输入的字符串中删除所有空格。

解决方案

考虑下面给出的示例-

它从给定的字符串中删除所有空格。给定的字符串是(cainiaojc.com) C Programming。删除空格后的结果是nhoooCProgramming

字符数组称为字符串。

下面给出的是字符串的声明-

char stringname [size];

例如,char string [50]; 长度为50个字符的字符串。

初始化

  • 使用单个字符常量。

char string[10] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’ ,‘\0’}
  • 使用字符串常量。

char string[10] = “Hello”:;

存取中

控制字符串“%s”用于访问字符串,直到遇到“ \ 0”为止。

我们用来删除字符串之间的空格的逻辑如下-

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("输入任何语句: ");
   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:
输入任何语句:(cainiaojc.com)C Programming
Sentence without spaces: nhoooCProgramming
Run 2:
输入任何语句: Welcome to the world of tutorials
Sentence without spaces: Welcometotheworldoftutorials