C语言scanf输入char类型时遇到回车问题:
2014-04-30 16:26
302 查看
今天在学c语言的时候遇到了scanf函数接收回车问题,不多说,先看源代码:
出在标记语句处,每次输入第二个数后按回车后执行到default语句,即把回车存到了变量c中,后经百度及名师指导,得出俩中解决方案:
1.将标记语句改为
getchar();
这俩中方法均可解决.
希望能对初学者有所帮助。自己也要继续努力!!!
float a = 0, b = 0; char c; printf("please input first number:\n"); scanf("%f",&a); printf("please input second number:\n"); scanf("%f",&b); printf("please input one of“+, - , * , /”\n"); scanf("%c",&c); switch (c) { printf("%f",a); case'+':printf("a + b =%f\n",a + b); break; case'-':printf("a - b =%f\n",a - b); break; case'*':printf("a * b =%f\n",a * b); break; case '/': if(b!=0) { printf("a / b =%f\n",a / b); }else{printf("the second number can't be 0");} break; default:printf("input error\n"); break; }问题
出在标记语句处,每次输入第二个数后按回车后执行到default语句,即把回车存到了变量c中,后经百度及名师指导,得出俩中解决方案:
1.将标记语句改为
scanf("\n%c",&c);2.在标记语句之前添加语句
getchar();
这俩中方法均可解决.
希望能对初学者有所帮助。自己也要继续努力!!!
相关文章推荐
- C语言中用scanf连续输入两个字符类型的问题
- C语言中用scanf连续输入两个字符类型的问题
- 学习c语言遇到的一些问题(3)(Linux)(getchar()和gets()重点:scanf产生的回车符问题)
- c语言scanf()停止接受输入及scanf("%c",&c)吃掉回车或者空格字符的问题
- C语言scanf函数输入时键盘缓冲区\n的问题[经典问题]
- C语言 scanf输入回车或空格时停止输入
- 验证码小练习强制将int类型转化为char类型遇到的小问题
- 【C语言】 缓冲区问题 循环使用getchar scanf会受到换行符'\n'的干扰
- 关于C语言中char类型与ASCII码的问题
- 关于scanf函数的输入类型不匹配问题
- C语言中利用scanf语句输入多个值的问题
- scanf()函数的参数输入类型不匹配问题
- c语言 char*类型作为中间变量将许多字符串保存到一个数组的问题
- C语言中scanf函数输入回车符的问题
- c语言中scanf输入带空格的字符串以及scanf输入单个字符的问题
- c语言,java类型转换时遇到的大小端问题
- C语言技巧【枚举作为函数变量类型】【数据输入与输出】【do while循环体内scanf函数被跳过,循环结束】【用const修饰函数的参数】
- c语言中scanf("%c",&c)吃掉回车或者空格字符的问题
- C语言中scanf函数输入回车符的问题
- gcc c语言中scanf输入格式不正确,清空缓冲区问题