为什么缺少了输入?

coosh 2002-06-15 10:24:06
int i,j;
float count[11][8];
void input() \*我省略了参数*\
.....
void average_total()
.....
void count()
.....
void search()
.....
main()
{ float student[11][8];
char i;
input(student);
average_total(student);
student_count(student);
printf("Do you want to search?");
scanf("%c",&i);
if (i=='n') printf("\nlet me pass");
else search(student);
}
程序的子函数经调试不存在问题,问题在于main里的scanf函数,当打印了前面的那一句之后就直接运行search函数,而且没有按要求输入i
...全文
55 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
coosh 2002-06-15
  • 打赏
  • 举报
回复
我曾试过用getchar(),还有子函数来进行输入,但都失败了,程序会打印printf函数的内容,但就是不能输入一个值(好像没有这项功能一样)。这是个考试题,我们还没学到flushall()这样的函数。虽然现在题目交上去了,但是我还是希望能解决这一问题


感谢大家的帮忙,不过我是新丁,不晓得怎样给分你们,可否告诉我方法。^_^
hannibalhontani 2002-06-15
  • 打赏
  • 举报
回复
要刷新缓冲区
用flushall ()就行了
jamesfangjing 2002-06-15
  • 打赏
  • 举报
回复
用c++标准的函数来代替c的函数,这样有利于程序运行!
llin_9461 2002-06-15
  • 打赏
  • 举报
回复
把SCANF改为GETCHAR()试试
xiaoluoli 2002-06-15
  • 打赏
  • 举报
回复
#include"iostream.h"
void main()
{
float student[11][8];
char i;
input(student);
average_total(student);
student_count(student);
cout<<"Do you want to search?";//printf("Do you want to search?");
cin>>i;//scanf("%c",&i);
if (i=='n') printf("\nlet me pass");
else search(student);
}
aphafy 2002-06-15
  • 打赏
  • 举报
回复
int i,j;
float count[11][8];
void input() \*我省略了参数*\
.....
void average_total()
.....
void count()
.....
void search()
.....
main()
{ float student[11][8];
char i;
input(student);
average_total(student);
student_count(student);
printf("Do you want to search?");
scanf("%c",&i);
if (i=='n') printf("\nlet me pass");
else search(student);
}
程序的子函数经调试不存在问题,问题在于main里的scanf函数,当打印了前面的那一句之后就直接运行search函数,而且没有按要求输入i
你是不是在打印了“Do you want to search?”的那一句后回车了?
xiaoluoli 2002-06-15
  • 打赏
  • 举报
回复
#include"iostream.h"
void main()
{
float student[11][8];
char i;
input(student);
average_total(student);
student_count(student);
cout<<"Do you want to search?";//printf("Do you want to search?");
cin>>i;//scanf("%c",&i);
if (i=='n') printf("\nlet me pass");
else search(student);
}
xiaoluoli 2002-06-15
  • 打赏
  • 举报
回复
你是在VC环境下运行的吗?
如果是的话,建议你用cin>>代替scanf();以为VC环境对C的支持不是很好
dupenf 2002-06-15
  • 打赏
  • 举报
回复
没看懂!!
zhdleo 2002-06-15
  • 打赏
  • 举报
回复
那你还不如用gets();呢?你觉得呢??
coldcrane 2002-06-15
  • 打赏
  • 举报
回复
在scanf("%c",&i); 前面加上:
fflush(stdin);
zhlc9 2002-06-15
  • 打赏
  • 举报
回复
建议重新打开VC,再次编译

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧