while (a = b)
;
我知道它可能不会那么复杂,但我不明白它会变成什么
假设a
和b
是变量...
这说的是"将b
的值分配给a
。如果此值不为零,则执行循环内部(即"不执行任何操作"(。继续分配,直到a
(后分配(为零。
从理论上讲,b
可以通过中断或其他来源在整个程序中进行更改。例如,它可以映射到内部寄存器。请注意,这也在改变a
,这可能会引发一系列事件,使b
为零,从而结束循环。
如果b
和a
没有变化/不波动,这可以(以简陋的方式(作为"明确的a
,断言b
为零"。如果b
不为零,则程序将挂起。
不过,最有可能的是,它的意思是while (a == b);
,这可以被视为"断言 a 不等于 b,否则挂起"。
如果 b=0,那么它不会是一个无限循环。否则,它将是一个无限循环。 这里,在 a 中分配的 b 的值。希望你明白了。
void stringCAT(char *s1, char *s2)
{
while(*s1 != ' ')
{
s1++;
}
for(; *s1 = *s2; s1++,s2++)
{
;
}
}
for
循环包括您的答案。for 语句的中间条件类似于在while()
内。此 for 循环一直运行到*s2= ' '
并同时将数据从s2
复制到s1
。这对字符类型有效。