scanf_s之前在获取字符数组的值得时候总是无法获取,原来是在后面还
要加上字符数组的大小,所以推导出,在获取屏幕不同类型的数据时,若其中
包含char []类型的数据,也要加上所定义的字符数组的大小.``
//输入两个学生的学号,姓名和成绩.输出成绩较高的学生的学号,姓名和成绩
#include <stdio.h>
int main() {
struct Student { //声明结构体类型struct Student
int num;
char name[20];
float score;
}student1, student2; //定义两个结构体变量student1,student2
printf("请输入两个学生的信息:\n");
scanf_s("%d %s %f", &student1.num,student1.name, 20, &student1.score);
scanf_s("%d %s %f", &student2.num,student2.name, 20, &student2.score);
printf("成绩更高的是:\n");
if (student1.score > student2.score) {
printf("%d %s %f", student1.num, student1.name, student1.score);
}
else if (student1.score < student2.score)
printf("%d %s %f", student2.num, student2.name, student2.score);
else { //两人成绩相同
printf("%d %s %f", student1.num, student1.name, student1.score);
printf("%d %s %f", student1.num, student1.name, student1.score);
}
return 0;
}
/*运行结果:
请输入两个学生的信息:
10101 wang 89
10102 yang 99
成绩更高的是:
10102 yang 99.000000
*/