0%

algorithm00算法遇到的问题

输入字符

scanf函数是标准输入流(从键盘接收数据),接收的数据放入输入缓冲区中,其中就包括在键盘输入的空格、回车这类字符,当你用%d接收时是不会影响的,但是用%c就会产生错误,这是因为在”%c”输入时,空格和转义字符均作为有效字符会被%c接收。

解决方法1:scanf() 前面加上getchar()清除缓存区的\n

1
2
3
4
//正确做法
char op;
getchar();
scanf("%c", &op);

解决方法2:在%c之前 加上空格,空格 可以吸收回车符号、空格。建议使用”,“进行隔开,并且在键盘输入的时候也要使用”,”。

1
2
3
4
5
6
char op;
char a, b, c;
scanf(" %c", &op);

scanf("%c %c %c",&a,&b,&c);
printf("%c,%c,%c",a,b,c);