C语言中,可以在switch
语句中使用break
语句,表示一个case
条件语句匹配后退出。break
语句也可以停止循环 - 在任何类型的循环中使用以退出循环。 例如:
char answer = 0;
for( ;; )
{
/* 用于读取和处理某些数据的代码 */
printf("想再输入一些吗?(y/n): ");
scanf("%c", &answer);
if(tolower(answer) == 'n')
break; // 限出循环,转到徨之后转到语句
}
在这里,有一个可能无限执行的循环。scanf()
函数将一个字符读入回答,如果输入的字符是n
或N
,则将执行break
语句。
以下示例计算任意数量的值的平均值:
#include <stdio.h>
#include <ctype.h> // 引用 tolower() 函数
int main(void)
{
char answer = 'N'; // 决定继续循环
double total = 0.0; // 输入的值总和
double value = 0.0; // 输入的值
unsigned int count = 0; // 输入的值的数量
printf("\n该程序计算任意数量的值的平均值.");
for( ;; ) // 无限循环
{
printf("\n输入下一个值: "); // 提示要输入的下一个值
scanf(" %lf", &value); // 读取下一个值
total += value; // 相加总值
++count; // 递增变量count的值
// 检查更多输入
printf("要输入另一个值吗?? (Y 或 N): ");
scanf(" %c", &answer); // 读取响应输入Y或N.
if(tolower(answer) == 'n') // 比较输入标志
break; // 退出循环
}
// 将平均值输出到2位小数
printf("\n平均值是:%.2lf\n", total/count);
return 0;
}
执行上面示例代码,得到以下结果:
该程序计算任意数量的值的平均值.
输入下一个值: 12
要输入另一个值吗?? (Y 或 N): y
输入下一个值: 25
要输入另一个值吗?? (Y 或 N): n
平均值是:18.50