📜  C 程序从字符串中修剪前导空格

📅  最后修改于: 2021-09-06 06:25:44             🧑  作者: Mango

给定字符串str ,任务是编写C 程序以从给定字符串删除前导空格。

例子 :

方法:这个想法是计算给定字符串的前导空格,然后从该计数索引中将字符从该索引复制到字符串的前面。以下是步骤:

  1. 初始化 count = 0 以计算前导空格的数量。
  2. 遍历给定的字符串并找到前导空格字符结束的索引(比如idx )。
  3. 遍历该索引idx 中的所有字符,并将该索引中的每个字符复制到前面索引的末尾。
  4. 最后,将 ‘\0’ 放在新字符串的最后一个索引处以终止字符串。

下面是上述方法的实现:

C
// C program for the above approach
#include 
  
// Function to remove leading
// spaces from a given string
char* removeLeadingSpaces(char* str)
{
    static char str1[99];
    int count = 0, j, k;
  
    // Iterate String until last
    // leading space character
    while (str[count] == ' ') {
        count++;
    }
  
    // Putting string into another
    // string variable after
    // removing leading white spaces
    for (j = count, k = 0;
         str[j] != '\0'; j++, k++) {
        str1[k] = str[j];
    }
    str1[k] = '\0';
  
    return str1;
}
  
// Driver Code
int main()
{
    // Given string
    char str[] = "         geeksforgeeks";
    char* ptr;
  
    // Function call
    ptr = removeLeadingSpaces(str);
  
    // Print string without leading space
    printf("%s", ptr);
    return 0;
}


输出:
geeksforgeeks

时间复杂度: O(N)
辅助空间: O(N)

想要从精选的视频和练习题中学习,请查看C 基础到高级C 基础课程