#include<stdio.h>
#define TOTAL 2
struct Person {
char name[20];
int num;
char sex;
char profession;
union {
float score;
char course[20];
}sc;
};
void main() {
int i;
struct Person persons[TOTAL];
for (i = 0; i < TOTAL; i++) {
printf("input info:");
scanf_s("%s %d %c %c", persons[i].name, &(persons[i].num), &(persons[i].sex), &(persons[i].profession));
if (persons[i].profession == 's') {
printf("请输入该学生成绩:");
scanf_s("%f", &persons[i].sc.score);
}
else {
printf("请输入teacher的课程:");
scanf_s("%s", persons[i].sc.course);
}
fflush(stdin);//刷新,确保都输入了
}
printf("\nName\t\tNum\tSex\tProfession\tScore/Course\n");
for (i = 0; i < TOTAL; i++) {
if (persons[i].profession == 's') {
printf("%s\t\t%d\t%c\t%c\t\t%f\n",persons[i].name,persons[i].num,persons[i].sex,persons[i].profession,persons[i].sc.score);
}
else {
printf("%s\t\t%d\t%c\t%c\t\t%s\n", persons[i].name, persons[i].num, persons[i].sex, persons[i].profession, persons[i].sc.course);
}
}
}
为啥发生异常断点,提示访问冲突啊
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- qzjhjxj 2022-08-22 09:26关注
修改如下,供参考:
#include<stdio.h> #define TOTAL 2 struct Person { char name[20]; int num; char sex; char profession; union { float score; char course[20]; }sc; }; void main() { int i; struct Person persons[TOTAL]; for (i = 0; i < TOTAL; i++) { printf("input info:"); scanf_s("%s %d %c %c", persons[i].name, 20, &persons[i].num, &persons[i].sex, 1, &persons[i].profession, 1); //scanf_s("%s %d %c %c", persons[i].name, &(persons[i].num), &(persons[i].sex), &(persons[i].profession));修改 if (persons[i].profession == 's') { printf("请输入该学生成绩:"); scanf_s("%f", &persons[i].sc.score); } else { printf("请输入teacher的课程:"); scanf_s("%s", persons[i].sc.course, 20); //scanf_s("%s", persons[i].sc.course);修改 } fflush(stdin);//刷新,确保都输入了 } printf("\nName\t\tNum\tSex\tProfession\tScore/Course\n"); for (i = 0; i < TOTAL; i++) { if (persons[i].profession == 's') { printf("%s\t\t%d\t%c\t%c\t\t%f\n", persons[i].name, persons[i].num, persons[i].sex, persons[i].profession, persons[i].sc.score); } else { printf("%s\t\t%d\t%c\t%c\t\t%s\n", persons[i].name, persons[i].num, persons[i].sex, persons[i].profession, persons[i].sc.course); } } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
- ¥15 谁有desed数据集呀
- ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
- ¥15 关于#hadoop#的问题
- ¥15 (标签-Python|关键词-socket)
- ¥15 keil里为什么main.c定义的函数在it.c调用不了
- ¥50 切换TabTip键盘的输入法
- ¥15 可否在不同线程中调用封装数据库操作的类
- ¥15 微带串馈天线阵列每个阵元宽度计算
- ¥15 keil的map文件中Image component sizes各项意思