Ako*_*agy 0 c string pointers function char
void s1(char dest[], char src[])
{
int i=0;
while(dest[i++]=src[i++]);
}
void s2(char * dest, char *src)
{
while(*dest++=*src++);
}
Run Code Online (Sandbox Code Playgroud)
另外,请注意我从一本书中解决了这个问题,并且不知道代码是否正确(我认为在while循环中应该有两个'=')
第二个代码执行字符串复制.它相当于strcpy().
第一个代码具有未定义的行为,因为它i在一个语句中更新两次而没有插入序列点.
所以答案是它们不一样.
第一个代码可以更正.例如这样:
void s1(char dest[], char src[])
{
int i=0;
while(dest[i]=src[i]) i++;
}
Run Code Online (Sandbox Code Playgroud)