代码出处:新浪微博
今天在微博上发现了一个比较有意思的trim代码,对于指针理解不深,可能看着会很绕!!在此和大家分享一下。。
这段代码的关键之处就是3个指针操作同一块内存。。
代码如下
#define LEN 100
#define IS_SPACE(c)(c==' '||c=='\t')
void trim(char *str)
{
char *pcopy,*ptail;
if(!str)
return;
for(pcopy=str;*str&&IS_SPACE(*str);str++)
;
for(ptail=pcopy;*str;str++)
{
*pcopy++ =*str;
if(!IS_SPACE(*str))
ptail=pcopy;
*ptail=0;
}
}
注:trim函数实现的是输入字符串前后去空格