函数通过命令实现跳转哪种方式比较好?
在C语言中,可以使用goto或者if..else语句来实现整个函数的跳转。int foo( int arg ) {
int result;
if ( arg == 0 ) {
goto END;
}
// do something with arg
result = arg * 2;
END:
return result;
}
// program label
good_night:
printf("Good night!\n");
// goto statement
goto good_night;
还可以使用break 和 continue 语句来条件跳转:
for (i = 0; i < 10; i++) {
if (i == 5)
break;
printf("%d is not 5\n", i);
}
for (i = 0; i < 10; i++) {
if (i == 5)
continue;
printf("%d is not 5\n", i);
}
还有return语句,用来退出当前函数的执行:
int foo() {
if (condition)
return 1;
else
return 0;
}
函数跳转有很多方式。goto,if else switch case goto在C语言中不太主张吧,一旦多了逻辑就乱了 .同一个函数内,可以使用goto语句,不同函数之间的跳转,可以使用 setjmp / longjmp 小夏天的大西瓜 发表于 2023-2-23 15:17
goto在C语言中不太主张吧,一旦多了逻辑就乱了
这个存在及合理,不乱用没啥事,感觉更任性的是setjump函数 我还没用过goto 同一函数goto 调用深层次的函数用到跳转,不用一层一层的去返回和判断 这些跳转方式有什么区别?那个更适合呢? 跳转就是看需求啊,具体是返回还是退出 这些方式哪个更好啊?
页:
[1]