读书人

有关问题

发布时间: 2012-03-17 19:06:28 作者: rapoo

问题
运行以下程序
#include <stdio.h>
void main()
{int c;
while((c=getchar())!= '\n ')
switch(c- '2 ')
{case 0:
case 1:putchar (c+4);
case 2:putchar (c+4);break;
case 3:putchar (c+3);
default:putchar (c+2);break;
}
printf( "\n ");
}
输入2473 为什么输出668977?

[解决办法]
输入2的时候运行了下面几条语句.所以会输出:66
case 0:
case 1:putchar (c+4);
case 2:putchar (c+4);break;

输入4的时候运行了下面几句:所以会输出:8
case 2:putchar (c+4);break;

输入7的时候运行了default几句:所以输出9

default:putchar (c+2);break;

输入3的时候运行了下面几句:所以会输77

case 1:putchar (c+4);
case 2:putchar (c+4);break;


把这些所有输出连起来不就是楼主所说的输出值么?

读书人网 >C++

热点推荐