c语言中结构体输入中一个问题

宋玮-深圳 2006-04-21 11:06:51
本人定义score为float型,但是在录入score的scanf使用%f是出现无法输入(直接跳过),改为scanf("%d",& (p->score));反而成功,百思不得其解啊!

struct student
{ int num;
float score;
};
struct student stu[100];

void main()
{
struct student *p;
p=stu;

printf("input number please:\n");
scanf("%d",& (p->num));

printf("input score please:\n");
scanf("%f",& (p->score));

}
...全文
222 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
mrbighiwf 2006-07-09
  • 打赏
  • 举报
回复
scanf会自动接受"\n"

scanf("%c",&ch);
if(ch='\n')
scanf("%c",&ch);
可以解决
d_bc 2006-04-22
  • 打赏
  • 举报
回复
不明白楼主的意思,我在Dev-C++下试了试楼主的代码(%f版),是可以正常运行的,而且会正常提示输入score。
宋玮-深圳 2006-04-22
  • 打赏
  • 举报
回复
我用win-tc, tc2,0都没通过,f7单步执行的时候第2个scanf根本就跳过去了
TryBoYang 2006-04-22
  • 打赏
  • 举报
回复
LZ搞错了吧,我用VC调试过,一切正常啊
wumingchenchao 2006-04-22
  • 打赏
  • 举报
回复
mark

69,371

社区成员

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

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