这题错在哪里哇
请编写函数,删除字符串的前导和末端空白字符。函数原型
// 全整理
char* StrTrim(char *str);
说明:函数将字符串 str 的起始和末尾的连续的空白字符全部删去(中间的空白字符不删除),函数值为 str。
注:空白字符是指 isspace 函数认定的空白字符,包括:空格(SP)、水平制表(HT)、垂直制表(VT)、回车(CR)、换行(LF)、换页(FF)等。
裁判程序
#include <stdio.h>
#include <ctype.h>
// 全整理
char* StrTrim(char *str);
int main()
{
char a[1024];
gets(a);
StrTrim(a);
puts(a);
return 0;
}
/* 你的代码将被嵌在这里 */
输入样例:
...Welcome.to.Beijing!... (其中: .表示空白字符)
输出样例:
Welcome.to.Beijing! (其中: .表示空白字符)
我写的代码在PTA平台上他说我段错误,但我在CB上答案是对的哎~~~可以帮忙看看吗
#include <string.h>
char* StrTrim(char *str)
{
char a[1024];
int i, j, k, n;
n = strlen(str);
for(i = 0; isspace(str[i]); i++)
{
;
}
for(j = n - 1; isspace(str[j]); j--)
{
;
}
for(k = 0; i <= j; k++)
{
a[k] = str[i];
i++;
}
a[k] = '\0';
//memset(str, 0, sizeof(str));
strcpy(str, a);
return str;
}