void main()

来源:百度知道 编辑:UC知道 时间:2024/05/14 07:55:42
{ int a;
scanf("%d\n",&a);
switch(a/10)
{ case 1:
case 2:printf("m=1\n");break;
case 3:printf("m=2\n");break;
case 4:printf("m=3\n");break;
case 5:printf("m=4\n");break;
default:printf("m=5");
}
}这个程序为什么执行时输入两个值才有答案可以而切一个答案

程序中有一句话不妥:
scanf("%d\n",&a)

应该改为scanf("%d",&a)
否则,这个输入语句需要"吸收"一个回车,而正常输入结束也要一个回车,形成现象是:需要输入2个值.事实上,按你的程序,输入一个数后连续回车2次也OK.

a为整数,例如a=25,则a/10=2.5,取整为2
Switch语句是一个选择控制结构,党a/10=2时,执行case 2:printf(...语句