注册 登录
编程论坛 C++教室

请大神解答下为什么我的程序不能循环

这是我小名 发布于 2017-11-27 15:11, 1769 次点击

#include<stdio.h>
int main()
{
  float c,f;
  char a;
  a='y';
  while(a!='n')
  {
  printf("please enter numer:\n");
  scanf("%f",&f);
  c=(5.0/9)*(f-32);
  printf("the result is:%f\n",c);
  printf("whether keep on? y or n\n");
  scanf("%c",&a);
 
  }
}
4 回复
#2
鸿蒙之灵2017-11-27 16:21
回复 楼主 这是我小名
程序代码:
int main()
{
  float c,f;
  char a;
  a='y';
  while(a!='n')
  {
  printf("please enter numer:\n");
  scanf("%f",&f);
  getchar();
  c=(5.0/9)*(f-32);
  printf("the result is:%f\n",c);
  printf("whether keep on? y or n\n");
  scanf("%c",&a);
  getchar();
  }
    return 0;
}


你试试这个,看看是什么效果,然后去思考,你之前的方法利用scanf函数获取输入量的时候存在什么问题,如何规避
#3
rjsp2017-11-27 16:34
scanf("%c",&a);
改为
scanf(" %c",&a);
即跳过前导的所有空白字符,读入一个非空白字符
#4
这是我小名2017-11-28 08:50
回复 3楼 rjsp
老哥稳了
#5
这是我小名2017-11-28 08:50
回复 2楼 鸿蒙之灵
好的
1