鱼C论坛

 找回密码
 立即注册
查看: 2982|回复: 9

运行起来总是有问题,大家帮忙看看吧

[复制链接]
发表于 2013-10-18 22:58:00 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 、__乔夜 于 2013-10-18 23:17 编辑

#include <stdio.h>

struct
{
      int num;
      char name[10];
      char sex;
      char job;
      union
      {
            int clas;
            char position[10];
      }type;   
}person[2];

int main()
{

      int i;
      for(i=0;i<2;i++)
      {

            printf("请输入号码:");
            scanf("%d",&person.num);

            
printf("请输入姓名:");
            scanf("%s",&person.name);

            printf("请输入性别:");
            scanf("%c",&person.sex);

            printf("请输入职业:");
            scanf("%c",&person.job);   //这样为什么会出错?!!

            if(person.job=='s')
            {
                  printf("请输入班级:");
                  scanf("%d",&person.type.clas);
            }else
            {
                  if(person.job=='t')
                  {
                        printf("请输入职位:");
                        scanf("%s",person.type.position);
                  }else
                  {
                        printf("输入错误!");
                  }
            }
      }
      printf("\n");
      printf("No.   name     sex job class/position\n");
      for(i=0;i<2;i++)
      {
            if(person.job=='s')
            {
                  printf("%-6d%-10s%-4c%-4c%-10d\n",person.num,person.name,
                        person.sex,person.job,person.type.clas);
            }else
            {
                  printf("%-6d%-10s%-4c%-4c%-10s\n",person.num,person.name,
                        person.sex,person.job,person.type.position);
            }

      }
      return 0;
}
ET~27S52G1VON$A@)MCIBRU.jpg
为什么每次输入到“请输入姓名”的时候就直接跳到“请输入职业”啊?:cry
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-10-19 00:28:02 | 显示全部楼层

回帖奖励 +1 鱼币

你居然没报错我复制过去编译下近20个错误
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-10-19 08:46:58 | 显示全部楼层

回帖奖励 +1 鱼币

#include <stdio.h>

struct
{
        int num;
        char name[10];
        char sex;
        char job;
       
        union
        {
                int clas;
                char position[10];
        }type;
       
}person;//定义错误,不是person[2].

int main()
{
        int i;
        for(i=0;i<2;i++)
        {
                printf("请输入号码:");
                scanf("%d",&person.num);
               
                printf("请输入姓名:");
                scanf("%s",&person.name);
               
                printf("请输入性别:");
                scanf("%c",&person.sex);
               
                printf("请输入职业:");
                scanf("%c",&person.job);   //这样为什么会出错?!!
               
                if(person.job=='s')
                {
                        printf("请输入班级:");
                        scanf("%d",&person.type.clas);
                }
                else
                {
                        if(person.job=='t')
                        {
                                printf("请输入职位:");
                                scanf("%s",person.type.position);
                        }
                        else
                        {
                                printf("输入错误!");
                        }
                }
        }
        printf("\n");
        printf("No.   name     sex job class/position\n");
       
        for(i=0;i<2;i++)
        {
                if(person.job=='s')
                {
                        printf("%-6d%-10s%-4c%-4c%-10d\n",person.num,person.name,
                                person.sex,person.job,person.type.clas);
                }
                else
                {
                        printf("%-6d%-10s%-4c%-4c%-10s\n",person.num,person.name,
                                person.sex,person.job,person.type.position);
                }
               
        }
        return 0;
}
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-10-26 22:09:53 | 显示全部楼层

回帖奖励 +1 鱼币

太多英文,看不懂
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-12-14 18:13:03 | 显示全部楼层

回帖奖励 +1 鱼币

多去了解一下scanf在用它吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-12-14 21:02:14 | 显示全部楼层

回帖奖励 +1 鱼币

结构体里面有共用体,类似于柔性数组
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-5-13 16:05:39 | 显示全部楼层

回帖奖励 +1 鱼币

混鱼币的~~~~~~~~~~~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-5-14 17:32:48 | 显示全部楼层

回帖奖励 +1 鱼币

混鱼币的~~~~~~~~~~~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-6-30 15:20:29 | 显示全部楼层

回帖奖励 +1 鱼币

还没学到这里,来拿奖励!!!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-6-30 16:21:36 | 显示全部楼层

回帖奖励 +1 鱼币


  1. #include <stdio.h>

  2. typedef struct person {
  3.         int num;
  4.         char name[10];
  5.         char sex;
  6.         char job;
  7.         
  8.         union
  9.         {
  10.                 int clas;
  11.                 char position[10];
  12.         }type;
  13.         
  14. }Person,*ptr_person;




  15. int
  16. main() {
  17.         Person person;
  18.         ptr_person s=&person;
  19.         int i;
  20.         printf("请输入号码:");
  21.         scanf("%d",&person.num);
  22.                
  23.         printf("请输入姓名:");
  24.         scanf("%s",s->name);
  25.                
  26.         printf("请输入性别:");
  27.         scanf("%s",&person.sex);
  28.                
  29.         printf("请输入职业:");
  30.         scanf("%s",&person.job);  
  31.                
  32.         if(person.job=='s')
  33.              {
  34.                      printf("请输入班级:");
  35.                      scanf("%d",&(person.type.clas));
  36.                 }
  37.         else
  38.              {
  39.                   if(person.job=='t')
  40.                        {
  41.                                 printf("请输入职位:");
  42.                                 scanf("%s",person.type.position);
  43.                         }
  44.                    else
  45.                         {
  46.                                 printf("输入错误!\n");
  47.                         }
  48.                
  49.         
  50.         printf("\n");
  51.         printf("No.   name     sex job class/position\n");
  52.         
  53.              if(person.job=='s')
  54.                 {
  55.                          printf("%-6d%-10s%-4c%-4c%-10d\n",person.num,person.name,
  56.                                 person.sex,person.job,person.type.clas);
  57.                 }
  58.                 else
  59.                 {
  60.                         printf("%-6d%-10s%-4c%-4c%-10d\n",person.num,person.name,
  61.                                 person.sex,person.job,s->type.clas);
  62.                 }
  63.                
  64.         }
  65.         return 0;
  66. }
复制代码
你输入2次干嘛,都是同一个结构体,不是自取其辱么??
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-11 11:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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