#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
提交
取消