一个看似没错的程序,却有巨大的毛病!
#include"stdio.h"void main()
{
char c1,c2,c3,c4,c5,a,b,c,d,e;
printf("****BEGIN****\n");
printf("input 5 number\n");
printf("world One:");
scanf("%c",&c1);
printf("\n");
printf("world Tow:");
scanf("%c",&c2);
printf("\n");
printf("world thre:");
scanf("%c",&c3);
printf("\n");
printf("world fore:");
scanf("%c",&c4);
printf("\n");
printf("world five:");
scanf("%c",&c5);
printf("\n");
a=c1+4;
b=c2+4;
c=c3+4;
d=c4+4;
e=c5+4;
printf("%c%c%c%c%c\n",a,b,c,d,e);
printf("****END*****\n");
}
程序能编译出来!
当程序运行完!一共就输入了三次!
one输入了,tow被直接跳过,thre输入第二次,fore又在一次被跳过,five输入第三次!问题大概出在scanf上面!
从程序上看,没什么错,可是运行了,出错!被跳过的总是输出ASCII第14的符号!那问题是怎么会被跳过了呢?