鱼C论坛

 找回密码
 立即注册
查看: 4113|回复: 3

求助 !!小甲鱼老师第十章共用体例题

[复制链接]
发表于 2012-7-16 09:56:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 ωδ╃懿╁ 于 2012-7-16 09:59 编辑

输入到第三步就会出错...气死我了 哪位大侠帮忙看看 谢谢了0.0
#include <stdio.h>
struct
{
char name[10];
int number;
char sex;
char job;
    union
{
int banji;
char position[10];
}category;
}person[2];
void main()
{
int i;
for(i=0;i<2;i++)
{
printf("请输入name:");
scanf("%s",&person[i].name);
printf("请输入number:");
scanf("%d",&person[i].number);
printf("请输入M/F:");
scanf("%c",&person[i].sex);
printf("请输入job<s/t>:");
scanf("%c",&person[i].job);
if(person[i].job=='s')
{
printf("请输入班级:");
scanf("%d",&person[i].category.banji);
}
else
{
printf("\t\t请输入职业:");
scanf("%s",&person[i].category.position);
}
}

for(i=0;i<2;i++)
{
if(i==0)
{
printf("\t\t名字为:%s\n",person[i].name);
printf("\t\t学号为:%d\n",person[i].number);
printf("\t\t性别为:%c\n",person[i].sex);
printf("\t\t班级为:%d\n\n\n",person[i].category.banji);
}
else
{
printf("\t\t名字为:%s\n",person[i].name);
printf("\t\t学号为:%d\n",person[i].number);
printf("\t\t性别为:%c\n",person[i].sex);
printf("\t\t职业为:%d\n\n\n",person.category.position);
}
}
}



[/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i]
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-16 14:56:48 | 显示全部楼层

回帖奖励 +2 鱼币

  1. #include <stdio.h>

  2. struct

  3. {
  4.        
  5.         char name[10];
  6.        
  7.         int number;
  8.        
  9.         char sex;
  10.        
  11.         char job;
  12.        
  13.     union
  14.                
  15.         {
  16.                
  17.                 int banji;
  18.                
  19.                 char position[10];
  20.                
  21.         }category;
  22.        
  23. }person[2];

  24. void main()

  25. {
  26.        
  27.         int i;
  28.        
  29.         for(i=0;i<2;i++)
  30.                
  31.         {
  32.                
  33.                 printf("请输入name:");
  34.                
  35.                 scanf("%s",&person[i].name);        // 这里 应该 写成 &person[i].name   下面的错误都一样 忘记加下标了
  36.                
  37.                 printf("请输入number:");
  38.                
  39.                 scanf("%d",&person[i].number);
  40.                 getchar();                        //过滤下缓冲区中上次输入留下来的 回车符    应为下次的 读取格式为 字符读取
  41.                
  42.                 printf("请输入M/F:");
  43.                
  44.                 scanf("%c",&person[i].sex);
  45.                 getchar();
  46.                
  47.                 printf("请输入job<s/t>:");
  48.                
  49.                 scanf("%c",&person[i].job);
  50.                
  51.                 if(person[i].job=='s')
  52.                        
  53.                 {
  54.                        
  55.                         printf("请输入班级:");
  56.                        
  57.                         scanf("%d",&person[i].category.banji);
  58.                        
  59.                 }
  60.                
  61.                 else
  62.                        
  63.                 {
  64.                        
  65.                         printf("\t\t请输入职业:");
  66.                        
  67.                         scanf("%s",&person[i].category.position);
  68.                        
  69.                 }
  70.                
  71.         }
  72.        
  73.        
  74.         for(i=0;i<2;i++)
  75.                
  76.         {
  77.                
  78.                 if(i==0)
  79.                        
  80.                 {
  81.                        
  82.                         printf("\t\t名字为:%s\n",person[i].name);
  83.                        
  84.                         printf("\t\t学号为:%d\n",person[i].number);
  85.                        
  86.                         printf("\t\t性别为:%c\n",person[i].sex);
  87.                        
  88.                         printf("\t\t班级为:%d\n\n\n",person[i].category.banji);
  89.                        
  90.                 }
  91.                
  92.                 else
  93.                        
  94.                 {
  95.                        
  96.                         printf("\t\t名字为:%s\n",person[i].name);
  97.                        
  98.                         printf("\t\t学号为:%d\n",person[i].number);
  99.                        
  100.                         printf("\t\t性别为:%c\n",person[i].sex);                       
  101.                        
  102.                         printf("\t\t职业为:%d\n\n\n",person[i].category.position);
  103.                        
  104.                 }
  105.                
  106.         }
  107.        
  108. }

复制代码
有点小错误而已 下次 多注意点就可以咯
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2012-7-16 19:22:59 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-4-8 20:33:37 | 显示全部楼层
printf("\t\t职业为:%d\n\n\n",person[i].category.position);

不对啊,用%d输出就出现一堆数字,用%s输出就报错了
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-14 04:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表