标题:switch-case:case 1中能不能在调用case
只看楼主
FizzyElf
Rank: 2
等 级:论坛游民
帖 子:14
专家分:15
注 册:2016-6-2
结帖率:50%
已结贴  问题点数:20 回复次数:2 
switch-case:case 1中能不能在调用case
程序代码:
#include <stdio.h>
int main(void)
{
    int i;
    int a,b,c,d,e,f;
    scanf("%d",&i);
    switch(i)
    {
        case 1:                                         
            while(10000)
                {
                    printf("a = ");
                    if(scanf("%d",&a))
                    {
                        printf("b = ");
                        if(scanf("%d",&b))
                        {
                            printf("c = %d\n",a+b);
                            printf("\n");
                        }
                    else
                        break;
                    }
                    else
                        break;
                  }
            break;

        case 2:
            while(10000)
                {
                    printf("d = ");
                    if(scanf("%d",&d))
                    {
                        printf("e = ");
                        if(scanf("%d",&e))
                        {
                            printf("f = %d\n",d+e);
                        printf("\n");
                        }
                         else
                            break;
                    }
                    else
                        break;
                  }
            break;
        default:
            printf("Error!\n");
    }
    return 0;
}



输出显示:
1
a = 6
b = 5
c = 11

a = g

--------------------------------
Process exited after 6.13 seconds with return value 0
请按任意键继续. . .

输入字符
case 1 break 之后能不能 不退出 而是返回 switch 重新开始,
换句话说 case 1 结束后不退出 而是输入 2 调用 case 2
搜索更多相关主题的帖子: case 调用 scanf printf break 
2017-07-11 21:05
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
得分:10 
可以,加一个循环

while( 1 == scanf() )
{
    switch()
    {
       case
    }
}

当然如果你只是想case 1才重新回到swtich的话,可以 用goto关键字来达成你的意图。

[此贴子已经被作者于2017-7-11 21:10编辑过]


09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-07-11 21:09
lmlm1001
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:4
帖 子:107
专家分:550
注 册:2015-3-1
得分:10 
case 1 break 之后能不能 不退出 而是返回 switch 重新开始,//可以使用goto 或者longjmp,switch本身无法达到此效果
换句话说 case 1 结束后不退出 而是输入 2 调用 case 2 //将case 1 的break去掉,注释fallthough作为提示,可以达到此效果(不输入2的情况下)
2017-07-11 21:55



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-479335-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.040781 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved