真的要看看书了.
对与没有break语句的case,它会自动执行其下的语句,直到出现break,或者switch已经结束.
----------------解决方案--------------------------------------------------------
while((c=getchar())!='\n')
{switch(c-'2') //当输入2时,C-2=0
{case 0:case 1:putchar(c+4); //switch=0来到这句,做完后没碰到break,于是输出 6 后继续做下句
case 2:putchar(c+4);break; //这句做完后,输出 6 后,碰到break,跳出去
----------------解决方案--------------------------------------------------------
----------------解决方案--------------------------------------------------------
----------------解决方案--------------------------------------------------------
对与没有break语句的case,它会自动执行其下的语句,直到出现break,或者switch已经结束.
----------------解决方案--------------------------------------------------------
while((c=getchar())!='\n')
{switch(c-'2') //当输入2时,C-2=0
{case 0:case 1:putchar(c+4); //switch=0来到这句,做完后没碰到break,于是输出 6 后继续做下句
case 2:putchar(c+4);break; //这句做完后,输出 6 后,碰到break,跳出去
----------------解决方案--------------------------------------------------------
我看了一下。程序是没有错误的!那要看你的break和continue掌握的怎么样啊!你要是想输出6897的话,你就这样
#include<stdio.h>
void main()
{
int c;
while((c=getchar())!='\n')
{
switch(c-'2')
{
case 0:
case 1:putchar(c+4);break; // 每个后面都加上break;
case 2:putchar(c+4);break;
case 3:putchar(c+3);break;
default:putchar(c+2);break;
}
}
}
----------------解决方案--------------------------------------------------------
谢谢大家了 我是刚学习C语言 有的东西不是一下就能想到
谢谢大家提醒了
----------------解决方案--------------------------------------------------------