C语言如何去掉字符串的空格,用0表示去掉尾部空格,1去掉前部空格,2,表示去掉前后部空格

我来看看百度有没有会的

#include <stdio.h>
char *func0(char *s)
{
    char *p;
    for(p=s;*p;p++);
    for(p--;*p==' ';p--);
    *--p='\0';
    return s;
}
char *func1(char *s)
{
    char *p,*q;
    for(p=s;*p==' ';p++);
    for(q=s;*q++=*p++;);
    return s;
}
int main()
{
    char s[100];
    int n;
    gets(s);
    scanf("%d",&n);
    switch(n)
    {
        case 0:func0(s);break;
        case 1:func1(s);break;
        case 2:func1(func0(s));break;
        default:break;
    }
    puts(s);
    return 0;
}

追问

运行不了,太多错误了

温馨提示:答案为网友推荐,仅供参考