新手,问一个有关指针的问题!!望大家帮忙!!!
void delspace(char *str)
{
char *buf=(char*)malloc(1+strlen(str)*sizeof(char));
strcpy(buf,str);
while(*buf)
{
if (*buf!= ' ')
{
*str++ = *buf;
}
buf++;
}
*str=0;
free buf;
return
}
这是删除空格的函数,其中
*str++ = *buf;
这个东西,应该怎么理解啊??
谢谢指教........
[解决办法]
*str = *buf;
str ++;
[解决办法]
操作符的优先级问题...
[解决办法]
就是这个意思
*str = *buf;
str ++;
char*类型的str就相当于一个char数组 *str若是str[i] 那么*str++就是str[i+1]
++= 就是这样用的 例如: i++=5 等效 i = 5; i++ 实际i就等于6了