我是靠谱客的博主 拉长钢铁侠,这篇文章主要介绍C语言while循环中i的作用域,C语言while循环中的switch语句,现在分享给大家,希望可以做个参考。

在while循环中有几个关于switch语句的帖子,除了它们都没有在C语言中完成的事情,至少从我所见过的事实中除外。 C++可以创建布尔表达式,我知道这些布尔表达式,但不包含在C中。我有一个包含开关控件的while循环。但是,当我在交换机中写入break语句时,它会返回到循环的开头,并使我的程序永远运行。忽略我使用的功能,因为它们确实有效。我只需要对我的嵌套处理进行一些说明。谢谢!C语言while循环中的switch语句

Here is my main.c:

while(1)

{

printf("0) Exitn1) List Tasksn2) Add Taskn");

printf("3)Delete Taskn4) Add Task From Filen");

printf("What would you like to do?n");

fgets(buf1, 50, stdin);

p = atoi(buf1);

switch(p)

{

case 0:

break;

case 1:

printTaskList(pTaskList);

break;

case 2:

printf("Enter task name: ");

fgets(buf2,100,stdin);

printf("Enter task priority: ");

fgets(buf3,100,stdin);

printf("Enter task start date: ");

fgets(buf4,50,stdin);

pTask = makeTask(buf2,buf4,buf3);

addTaskToEnd(pTaskList,pTask);

break;

case 3:

printTaskList(pTaskList);

printf("What task would you like to delete? ");

fgets(buf6,50,stdin);

taskNum = atoi(buf6);

removeTask(pTaskList,taskNum);

break;

case 4:

printf("Enter the filename ");

fgets(buf7,50,stdin);

break;

default:

printf("ERROR: %d: Incorrect menu optionn", p);

}

}

+0

你break语句用来跳过开关条款的休息,这意味着你在切换后的行dump出来。一个解决嵌套作用域的通用解决方案是将代码移入函数中,并使用return而不是break。 –

2013-04-20 06:16:03

+0

确定你想要在开关体内的while循环中分出的点,设置一个表示这个的标志,并且让'while(expression)'评估标志为break状态(即'while(true)'变成'而(stay_in_while)'和'已经通过stay_in_while'开关代码清除你想打破。 –

2013-04-20 06:16:34

+1

你错了,C具有布尔表达式和数据类型。它具有内置式'_Bool'如果包含''还有'bool','false'和'true'。 –

2013-04-20 06:31:05

最后

以上就是拉长钢铁侠最近收集整理的关于C语言while循环中i的作用域,C语言while循环中的switch语句的全部内容,更多相关C语言while循环中i内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部