怎样删除字符串所有前面的空格

来源:百度知道 编辑:UC知道 时间:2024/04/29 19:43:09
题目是说编写一个名为trimfrnt()的函数,删除字符串所有前面的空格。

注意:只删除前面的空格,而不是所有的空格。。
要用最简单的方法啊,不要用指针。。

下面这个是我编的,但是却删除了所有的空格,请问有没有办法修改?

#include<stdio.h>

#define MAXELS 81
void trimfrnt(char[]);

int main()
{
char list[MAXELS];

printf("Enter a string:");
gets(list);
trimfrnt(list);

return 0;
}

void trimfrnt(char val[])
{
int i,j=0;

for(i=0;val[i]!=‘\0';i++)
{
if(val[i]!=‘ ')
val[j++]=val[i];
}
val[j]=‘\0';

printf("\nThe new string is %s\n",val);

// 修改后的程序如下:(可能是最简单的方法了)
// 如果你认为&val[i-1]算是用指针的话,那你的val已经是指针了
#include<stdio.h>
#include<string.h>

#define MAXELS 81
void trimfrnt(char[]);

int main()
{
char list[MAXELS];
printf("Enter a string:");
gets(list);
trimfrnt(list);
return 0;
}

void trimfrnt(char val[])
{
int i=0;
while(val[i++]==' ');
strcpy(val,&val[i-1]);
printf("\nThe new string is:%s\n",val);
}

#include<stdio.h>

#define MAXELS 81
void trimfrnt(char[]);

int main()
{
char list[MAXELS];

printf("Enter a string:");
gets(list);
trimfrnt(list);

printf("%s\n",list);
return 0;
}

void trimfrnt(char val[])
{
int i=0;

//得到第一个‘ ’的位置
while(val[i]!='\0')
{
if(val[i] == '