比如变量为where。
有三个要跳转的目的地:w1,w2,w3。
可以直接:
where=w1
goto where;
吗?
还是只能:
switch(where)
case 1:goto w1
case 2:goto w2
case 3:goto w3
比如变量为where。
有三个要跳转的目的地:w1,w2,w3。
可以直接:
where=w1
goto where;
吗?
还是只能:
switch(where)
case 1:goto w1
case 2:goto w2
case 3:goto w3
在C语言中, goto
语句的目标标签必须是在当前作用域内可见的标识符。这意味着你不能使用变量作为 goto
语句的目标。
因此,你不能直接使用变量来存储 goto
语句的目标。你需要使用 switch
语句或其他条件语句来根据变量的值选择相应的 goto
目标。
以下是使用 switch
语句的示例:
switch(where) {
case 1:
goto w1;
case 2:
goto w2;
case 3:
goto w3;
default:
// 处理无效的目标值
break;
}
// 标签定义
w1:
// 目标w1的代码
// ...
goto end;
w2:
// 目标w2的代码
// ...
goto end;
w3:
// 目标w3的代码
// ...
goto end;
end:
// 代码继续执行的地方
请注意,使用 goto
语句可能会导致代码不易理解和维护,因此请谨慎使用。在大多数情况下,使用结构化的控制流程(如 if
语句、循环语句)更易读和可维护。