首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【C语言】循环与goto语句

【C语言】循环与goto语句

作者头像
苏兮
发布2026-01-13 15:54:09
发布2026-01-13 15:54:09
530
举报

C语言学习

循环与goto语句 友情链接:C语言专栏

前言

本篇旨在完成上篇文章未写完的一部分: 循环的实现方式与goto语句相互替代(例:一个关机程序)。


一、代码思路

实现了一个有趣的小功能:程序启动后会设置计算机在 60 秒后关机,然后提示用户输入 “我是猪”,如果用户输入的内容与 “我是猪” 完全匹配,就会取消关机操作;若输入不匹配,则会一直循环提示用户输入,直到输入正确内容为止。

二、实现

1.循环实现

代码如下:

代码语言:javascript
复制
int main()
{
	char input[20] = { 0 };
	system("shutdown -s -t 60");
	//system函数用于执行系统命令。这里执行的命令是shutdown -s -t 60,其中-s表示关机操作,-t 60表示在 60 秒后执行关机。
	while (1)
	{
		printf("请注意,你的电脑在60秒内关机,如果输入:我是猪,就取消关机\n");
		scanf("%s", input);
		if (strcmp(input, "我是猪") == 0)//strcmp函数用于比较两个字符串是否相等。如果input数组中的字符串与 “我是猪” 完全相同,strcmp函数返回 0,此时条件成立,执行if语句块中的代码
		{
			system("shutdown -a");
			//如果用户输入的内容与 “我是猪” 相等,执行shutdown -a命令,该命令用于取消之前设置的关机操作
			break;
		}
	}

	return 0;
}

2.goto语句实现

代码如下:

代码语言:javascript
复制
int main()
{
	char input[20] = { 0 };
	system("shutdown -s -t 60");
again:
//这是一个标签,用于配合goto语句实现代码的跳转。在 C 语言中,标签是一个标识符,后面跟着一个冒号:,可以作为goto语句的目标位置。
	printf("请注意,你的电脑在60秒内关机,如果输入:我是猪,就取消关机\n");
	scanf("%s", input);
	if (strcmp(input, "我是猪") == 0)
	{
		system("shutdown -a");
	}
	else
	{
		goto again;//goto语句用于无条件跳转到指定的标签位置。这里跳转到again标签处,重新提示用户输入,形成一个循环。
	}
	return 0;
}

注:goto语句的使用:goto语句虽然可以实现代码的跳转,但过度使用会使代码的逻辑变得复杂,难以理解和维护,应尽量避免使用。可以使用while或for循环来替代goto语句实现相同的功能。

适当娱乐!


附录

上文链接

《分支和循环语句》

下文链接

《超详细的二分查找(折半查找)》

专栏

C语言专栏

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-08-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • C语言学习
  • 前言
  • 一、代码思路
  • 二、实现
    • 1.循环实现
    • 2.goto语句实现
  • 附录
    • 上文链接
    • 下文链接
    • 专栏
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档