当时看到strncat里面的这段代码不明白是什么意思
char * my_strncat(char * front, const char *back, size_t count)
{
char *temp = front;
while (*front++) {}
front--;
while (count--)
{
if (!(*front++ = *back++))
{
return temp;
}
}
*front = '\0';
return temp;
}
这里面!()是什么意思?
while(count--)
{
if(*front=='\0')
return temp;
*front++=*back++;
}
我这样写也可以吗?但是我不理解if(!())是什么意思
if(!(*front++=*back++))满足这个条件的情况是,你在追加字符串的过程遇到 字符串结束标志('\0',ASCII码值为0,C语言中0表示假,非0表示真)就直接退出了
这是一个复合语句
翻译一下就是:
*front = *back;// 先赋值
char s = *front;
front = front + 1;
back = back + 1; //指针都向后移动一位
if(s == 0) //如果刚
return temp;