#include<string.h>main(){char str[100];void trimspace(char *);gets(str);trimspace(str);puts(str);}/*------------Found Mistake Below------------*/void trimspace(char *p){char *q;if(*p!='\0')q=strlen(p);elsereturn;/*------------Found Mistake Below------------*/for(;*q==' ';q--);*q='\0';for(q=p;*q==' ';q++);strcpy(p,q);return;}
1 回答
人到中年有点甜
TA贡献1895条经验 获得超7个赞
#include <stdio.h>
#include <stdlib.h> //头文件别忘了加
#include <string.h>
void trimspace(char *);// 函数声明放在main函数上面
int main(void)//main函数最好有返回值
{
char str[100];
scanf("%s",str);//gets 函数不要使用,已经是作废的函数了,很危险
trimspace(str);
puts(str);
return 0;
}
void trimspace(char *p)
{
char *q;
if(*p!='\0')
q=p+strlen(p);//指针+偏移量
else
return;
for(;*q==' ';q--);
*q='\0';
for(q=p;*q==' ';q++);
strcpy(p,q);//最好用strncpy,此处你自己改吧
return;
}
我给你修改好了,我在linux gcc环境跑过了,一个警告都没有报 你试试吧
添加回答
举报
0/150
提交
取消