我有一个while
循环如下。
while (*d++ = *sc++)
由于我希望了解部门中的指针,因此我想进入while
循环并了解while
循环如何使用指针。
我用过step
,gdb
但它没有完全进入while
循环。有没有办法进入while
循环并理解每一步的操作。
*
绑定得比后缀更紧++
。++
右侧将最后应用,因此:
while (*d++ = *sc++)
是相同的:
while (*d = *sc)
{
d++;
sc++;
修改要好得多gdb
。
更新:
不要像这样的 OP 编码!
虽然它可能看起来很酷,并证明你很聪明。普通人脑难以解析,容易出错?我们不想要,是吗?
最好选择上面提出的更清晰的替代方案,让编译器打乱代码。
编写代码的另一种但相同的方法是:
*d = *sc;
while (*d > 0)
{
d++;
sc++;
*d = *sc;
}