郁闷很,程序运行出来的答案和书上给的答案不同,和自己分析的也不同,不知道错哪了,程序和书上的一样,,头大很
#include<stdio.h>
main()
{
int i;
for(i=1;i<=5;i++)
switch(i%5)
{
case0:printf(“*”);break;
case1:printf(“#”);break;
default:printf(“\n”);
case2:printf(“&”);
}
}
书上的答案是#&
&
&*
可运行后的答案是&
&
&
&
并且,当我把default和case2调换后,运行结果是四个换行符!!
还有一个程序
#include<stdio.h>
main()
{
int c;
while((c=getchar())!=’\n’)
switch(c-’2′)
{
case0:
case1:putcgar(c+4);
case2:putchar(c+4);break;
case3:putchar(c+3);
default:putchar(c+2);break;}
printf(“\n”);
}
输入2473回车后,书上答案是668977,我也能推出来,但运行后是4695!!麻烦高手解释一下
>> 本文固定链接: http://www.vcgood.com/archives/2975
case后面需要有空格的
#include<stdio.h>
main()
{
int i;
for(i=1;i<=5;i++)
switch(i%5)
{
case 0:printf(“*”);break;
case 1:printf(“#”);break;
default:printf(“\n”);
case 2:printf(“&”);
}
}
for(i=1;i<=5;i++) switch(i%5)
i%5的结果应该是1,2,3,4,0啊
输出也应该是#&
*
为什么结果却是#&
&
&*
不解@???
case 后面需要空格的,否则相当与空指令