下面程序运行时从键盘上输入:420↙,写出程序的运行结果?
#include <stdio.h>
int main()
{
char c;
while ((c=getchar())!='\n')
switch(c-'0') {
case 0:
case 1:putchar(c+2);
case 2:putchar(c+3);break;
case 3:putchar(c+4);
default:putchar(c+1);break;
}
return 0;
}
5523
首先你要理解getchar函数和break关键字
getchar作用是从stdin流中读入一个字符,如果stdin有数据就可以直接读取,第一次调用getchar()时,需要人工的输入,但是如果输了多个字符,以后的getchar()再执行时就会直接从缓冲区中读取。
break :当break用于switch中时,可使程序跳出switch而执行switch以后的语句;如果没有break语句,则会从满足条件的地方继续往下执行。
c=4时,default:putchar(c+1);break; ==> 4+1 = 5
c=2时, case 2:putchar(c+3);break; ==> 2+3 = 5
c=0时,case 0:
case 1:putchar(c+2); ==> 0+2 = 2
case 2:putchar(c+3);break; ==> 0+3 = 3