|
发表于 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;
- }
复制代码 |
|