| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1105 人关注过本帖
标题:找大神求助,为啥这个是错的啊
只看楼主 加入收藏
杨大傻
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2022-7-30
结帖率:75%
收藏
已结贴  问题点数:20 回复次数:4 
找大神求助,为啥这个是错的啊
#include<stdio.h>
struct student
{
int xuehao;
char name[30];
float chengji;
}a,b;
int main()
{
printf("请输入第一位学生的学号、姓名和成绩:\n");
scanf("%d,%s,%f",&a.xuehao,a.name,&a.chengji);
printf("请输入第二个学生的学号、姓名和成绩:\n");
scanf("%d,%s,%f",&b.xuehao,b.name,&b.chengji);
printf("成绩较高者的信息如下:\n");
if(a.chengji>b.chengji)
printf("%d\t%s\t%f\n",a.xuehao,a.name,a.chengji);
else if(a.chengji<b.chengji)
 printf("%d\t%s\t%f\n",b.xuehao,b.name,b.chengji);
else
{
printf("%d\t%s\t%f\n",a.xuehao,a.name,a.chengji);
printf("%d\t%s\t%f\n",b.xuehao,b.name,b.chengji);
 }
return 0;
}
搜索更多相关主题的帖子: 成绩 姓名 name printf 学号 
2022-07-30 15:51
梦想远航lyz
Rank: 2
等 级:论坛游民
威 望:1
帖 子:39
专家分:76
注 册:2017-10-23
收藏
得分:10 
和scanf格式解析有关
printf("请输入第一位学生的学号、姓名和成绩:\n");
scanf("%d", &a.xuehao);
scanf("%s", a.name);
scanf("%f", &a.chengji);
printf("请输入第二个学生的学号、姓名和成绩:\n");
scanf("%d", &b.xuehao);
scanf("%s", b.name);
scanf("%f", &b.chengji);
2022-07-30 16:38
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9031
专家分:54061
注 册:2011-1-18
收藏
得分:10 
%s,

一个字符串的尾部若不是空白字符那一定会被%s读取,后面不可能是逗号

在解决这个问题前,先要确定一下 输入是不是必须以逗号分割?
如果不是的话,那别给自己添麻烦,就以默认的空白字符为分隔符;
如果是的话,"%d,%s,%f" 改为 "%d , %[^, \f\v\t\r\n] ,%f"
2022-07-30 19:24
杨大傻
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2022-7-30
收藏
得分:0 
回复 2楼 梦想远航lyz
谢谢
2022-08-01 13:48
杨大傻
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2022-7-30
收藏
得分:0 
回复 3楼 rjsp
谢谢
2022-08-01 13:50
快速回复:找大神求助,为啥这个是错的啊
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018706 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved