次のコードを検討してください。
const char *s = "a b c d !";
const char *p = s;
top:for(; *p; p++) {
switch(*p) {
case 0x20:
case '\n':
goto top;
default:
putchar(*p);
}
}
*p
が停止するのではなく、無限ループに入る理由を誰かが説明できますかNULL
? 私は次のことを念頭に置いていました:条件をテストし、式を評価するため、 when *p
is0x20
または再度ループの先頭に移動します。したがって、無限にループする理由がわかりません。または、ステートメントがどのように機能し、C プログラミング言語で機能するかが本当にわかりません。\n
p++
goto
labels