lark 发表于 2015-1-29 02:36:39

联合和结构 简单的师生资料程序 出现了点逻辑问题

本帖最后由 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;
}

梦幻一生 发表于 2015-1-29 12:55:03

楼主 body;是一个数组 body是首地址,你只能用body【1】。name。。。。。

lark 发表于 2015-2-3 23:37:00

梦幻一生 发表于 2015-1-29 12:55
楼主 body;是一个数组 body是首地址,你只能用body【1】。name。。。。。

抱歉,机子没忘了,现在才上论坛,谢谢你的解释。
页: [1]
查看完整版本: 联合和结构 简单的师生资料程序 出现了点逻辑问题