c语言开关灯问题
时间: 2023-10-26 14:09:34 浏览: 153
假设你有一个电灯,有两个开关分别位于不同的房间。现在你想知道如何利用C语言控制这两个开关,以便打开或关闭电灯。
一种简单的解决方案是使用一个布尔变量来表示电灯当前的状态(开或关)。然后,你可以编写一个函数来切换电灯的状态,即如果电灯是开着的,就关闭它,如果它是关着的,就打开它。最后,你可以编写两个函数来分别控制这两个开关,使它们调用切换函数并根据电灯的状态打开或关闭。
这里是一个简单的示例代码:
```c
#include <stdio.h>
#include <stdbool.h>
bool light_on = false; // 电灯的初始状态是关闭的
void toggle_light() {
light_on = !light_on; // 切换电灯的状态
}
void switch1() {
toggle_light(); // 调用切换函数
printf("Switch 1 toggled. Light is now %s.\n", light_on ? "on" : "off");
}
void switch2() {
toggle_light(); // 调用切换函数
printf("Switch 2 toggled. Light is now %s.\n", light_on ? "on" : "off");
}
int main() {
switch1(); // 打开电灯
switch2(); // 关闭电灯
switch1(); // 打开电灯
return 0;
}
```
运行这个程序将输出:
```
Switch 1 toggled. Light is now on.
Switch 2 toggled. Light is now off.
Switch 1 toggled. Light is now on.
```
当你调用 `switch1()` 时,它将切换电灯的状态并打印出新状态。同样,当你调用 `switch2()` 时,它也会切换电灯的状态并打印出新状态。