| 
 | 
 
 
发表于 2016-8-9 16:45:24
|
显示全部楼层
 
 
 
指针没有加加(++) 
为什么要用指针呢? 
- #include <stdio.h>
 
  
- struct people
 
 - {
 
 -         int no;
 
 -         char name[20];
 
 -         char job;
 
 -         
 
 -         union
 
 -         {
 
 -                 int  clas;
 
 -                 char position[10];
 
 -         }pos;
 
 - };
 
  
- #if(0)
 
 - int main(void)
 
 - {
 
 -         int i;
 
 -         struct people peo[2];
 
 -         struct people *p;
 
 -         p = peo;
 
  
 
-         for(i = 0; i < 2;)
 
 -         {
 
 -                 printf("输入第%d个人的信息\n", ++i);
 
 -                 scanf("%d %s %c", &p->no, &p->name, &p->job);
 
 -                 if(p->job == 'T')
 
 -                 {
 
 -                         scanf("%s", &p->pos.position);
 
 -                 }
 
 -                 else
 
 -                 {
 
 -                         scanf("%d", &p->pos.clas);
 
 -                 }
 
 -                 p++;
 
 -         }
 
  
-         p = peo;
 
 -         printf("No.\t\tname\t\tjob\t\tclass/position\n");
 
 -         for(i = 0; i < 2; i++)
 
 -         {
 
 -                 if(p->job == 'T')
 
 -                 {
 
 -                         printf("%d\t\t%s\t\t%c\t\t%s\n", p->no, p->name, p->job, p->pos.position);
 
 -                 }
 
 -                 else
 
 -                 {
 
 -                         printf("%d\t\t%s\t\t%c\t\t%d\n", p->no, p->name, p->job, p->pos.clas);
 
 -                 }
 
 -                 p++;
 
 -         }
 
 -         //输出
 
  
-         return 0;
 
 - }
 
 - #endif
 
  
- int main(void)
 
 - {
 
 -         int i;
 
 -         struct people peo[2];
 
  
-         for(i = 0; i < 2; i++)
 
 -         {
 
 -                 printf("输入第%d个人的信息\n", i + 1);
 
 -                 scanf("%d %s %c", &peo[i].no, &peo[i].name, &peo[i].job);
 
 -                 if(peo[i].job == 'T')
 
 -                 {
 
 -                         scanf("%s", &peo[i].pos.position);
 
 -                 }
 
 -                 else
 
 -                 {
 
 -                         scanf("%d", &peo[i].pos.clas);
 
 -                 }
 
 -         }
 
  
-         printf("No.\t\tname\t\tjob\t\tclass/position\n");
 
 -         for(i = 0; i < 2; i++)
 
 -         {
 
 -                 if(peo[i].job == 'T')
 
 -                 {
 
 -                         printf("%d\t\t%s\t\t%c\t\t%s\n", peo[i].no, peo[i].name, peo[i].job, peo[i].pos.position);
 
 -                 }
 
 -                 else
 
 -                 {
 
 -                         printf("%d\t\t%s\t\t%c\t\t%d\n", peo[i].no, peo[i].name, peo[i].job, peo[i].pos.clas);
 
 -                 }
 
 -         }
 
 -         //输出
 
  
-         return 0;
 
 - }
 
 
  复制代码 |   
 
 
 
 |