c语言中goto语句可以直接跳出多层循环,这种情况使用break是达不到的。但是在庞大的程序中,goto语句的挑错是很不容易的,很多程序不使用goto语句也是可以到底目的,所以不建议使用goto语句。
例:关机程序
要求:
1.电脑运行起来后,1分钟内关机
2.如果输入:我是猪,就取消关机
#include<stdio.h>
int main()
{
?? ?char input[20] = { 0 };
?? ?system("shutdown -s -t 60");
again:
?? ?printf("请注意,你的电脑将在60秒内关机,如果输入:我是猪,就取消关机\n");
?? ?scanf("%s", input);
?? ?if (strcmp(input, "我是猪") == 0)
?? ?{
?? ??? ?system("shutdown -a");
?? ?}
?? ?else
?? ?{
?? ??? ?goto again;
?? ?}
?? ?return 0;
}