请帮我看看到底哪里有问题呢?

img

img

scanf()函数读取的第一个值为字符串,%s方式读取的字符串是以空白符为结束的,所以截图中的代码只能读到一个字符串,读不到后面两个量。举个例子:输入“zhangsan,f,90.0”,期望获得结构体的name=zhangsan,sex=f,math=90.0,但实际上scanf在读第一个%s字符串的时候,没有停在逗号位置,会一直读到结束,也就是说,name=zhangsan,f,90.0,后面两个变量没有读到值。一种建议写法是:scanf("%s %c %f",...),即用空格来分隔。

scanf方法里面的%.1f改为% f,数据输入不能格式化,printf里面才需要格式化输出。

img