联合和结构 简单的师生资料程序 出现了点逻辑问题
本帖最后由 lark 于 2015-1-29 08:14 编辑#include<stdio.h>
#include<stdlib.h>
int main(void){
struct{ //定义构造类型;
char name;//名字
unsigned int age; //年龄
char job;//职业
union{ //定义匿名联合体
int class; //学生的班级
char office;//教师的工作
} depa; //联合体变量
} body; //数组构造体变量
int i=0;
//system("color a");
//一个颜色值而已,和代码无关
for(i=0;i<2;i++){
printf("Enter Your name:");//学生或教师的名字
scanf("%s",body.name);
printf("Enter Your age :");//学生或教师的年龄
scanf("%d",&body.age);
printf("Enter Your job :");//学生或教师的job;
scanf("%c",&body.job);
if(body.job=='s'){//如果是students学生,输入班级
printf("Enter Your class:");
scanf("%d",&body.depa.class);
}
else{ //否则是teatcher教师,输入工作
printf("Enter Your office :");
scanf("%s",body.depa.office);
}
}
printf("\n or \n\n");
for(i=0;i<2;i++){
printf("Your name is:%s \nYou age is:%d \nYour job is:%c \n",body.name,body.age,body.job);
if(body.job=='s')
printf("Your class is :%d \n",body.depa.class);
else
printf("Your class is :%s \n\n",body.depa.office);
}
return 0;
}
楼主 body;是一个数组 body是首地址,你只能用body【1】。name。。。。。
梦幻一生 发表于 2015-1-29 12:55
楼主 body;是一个数组 body是首地址,你只能用body【1】。name。。。。。
抱歉,机子没忘了,现在才上论坛,谢谢你的解释。
页:
[1]