69,382
社区成员
发帖
与我相关
我的任务
分享
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
char *Trim(char *data)
{
if (data && strlen(data)) {
int begin = 0;
int end = strlen(data) - 1;
while (begin <= end && data[begin] <= ' ')
++begin;
if (begin > end)
data[0] = '\0';
else{
while (data[end] <= ' ')
--end;
memmove(data, data + begin, end - begin + 1);
data[end - begin + 1] = '\0';
}
}
return data;
}
int main(int argc, char* argv[])
{
int i;
char *data[7] = {"", " ", "0", "01234", " 01234", "01234 ", " 01234 "};
for (i=0;i<7;i++)
{
printf("len = %d, %s\n", strlen(data[i]), Trim(data[i]));
}
return 0;
}
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
char *Trim(char *data)
{
if (data && strlen(data)) {
int begin = 0;
int end = strlen(data) - 1;
while (begin <= end && data[begin] <= ' ')
++begin;
if (begin > end)
data[0] = '\0';
else{
while (data[end] <= ' ')
--end;
memmove(data, data + begin, end - begin + 1);
data[end - begin + 1] = '\0';
}
}
return data;
}
int main(int argc, char* argv[])
{
int i;
char data[7][10] = {"", " ", "0", "01234", " 01234", "01234 ", " 01234 "}; // 这样改就可以了
for (i=0;i<7;i++)
{
printf("len = %d, %s\n", strlen(data[i]), Trim(data[i]));
}
return 0;
}
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
char *Trim(char *data)
{
if (data && strlen(data)) {
int begin = 0;
int end = strlen(data) - 1;
while (begin <= end && data[begin] <= ' ')
++begin;
if (begin > end)
data[0] = '\0'; //修改了常量字符串的值,肯定会导致程序出错···
else{
while (data[end] <= ' ')
--end;
memmove(data, data + begin, end - begin + 1);
data[end - begin + 1] = '\0';
}
}
return data;
}
int main(int argc, char* argv[])
{
int i;
char *data[7] = {"", " ", "0", "01234", " 01234", "01234 ", " 01234 "};
for (i=0;i<7;i++)
{
printf("len = %d, %s\n", strlen(data[i]), Trim(data[i]));
}
return 0;
}