C语言 有人可以解释我这个循环是什么意思吗?


while (a = b) 
;

我知道它可能不会那么复杂,但我不明白它会变成什么

假设ab是变量...

这说的是"将b的值分配给a。如果此值不为零,则执行循环内部(即"不执行任何操作"(。继续分配,直到a(后分配(为零。

从理论上讲,b可以通过中断或其他来源在整个程序中进行更改。例如,它可以映射到内部寄存器。请注意,这也在改变a,这可能会引发一系列事件,使b为零,从而结束循环。

如果ba没有变化/不波动,这可以(以简陋的方式(作为"明确的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。这对字符类型有效。

最新更新