这段代码中,while循环有什么用?如果我们体内没有任何内容,我真的不明白循环会迭代什么。
#include <stdio.h>
#include <string.h>
int main()
{
char str[666];
char * p1, *p2;
strcpy ( str, "Hello world!");
p2 = (p1 = str) + 6;
while ( *p1++ = *p2++ ) {}
printf ( "%p %p", p1, p2);
}
while ( *p1++ = *p2++ ) {}
它将
p2
引用的对象分配给 p1
引用的对象。如果p2
引用的对象是0
,则增加两个指针后将退出循环,否则将增加两个指针并再次循环。
在本例中它正在复制 C 字符串。