for循环中的循环延续条件能否最终返回false/null值?

shi*_*ake 2 c++

这是deitel的c ++书籍,我试图更多地了解为什么延续条件有效以及它如何退出.s1和s2是数组,所以当s2试图将'\n'分配给s1时它是否返回null?

void mystery1( char *s1, const char *s2 )
{
while ( *s1 != '\0' )
s1++;

for ( ; *s1 = *s2; s1++, s2++ )
; // empty statement
}
Run Code Online (Sandbox Code Playgroud)

Ara*_*raK 5

*s1 = *s2
Run Code Online (Sandbox Code Playgroud)

是表达.C/C++中的表达式求值为值,在这种情况下,它返回赋值的值*s1.当'\0'赋值给*s1,表达式的0结果是false清楚的.