|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 風信子 于 2013-5-1 15:38 编辑
题目:输入N个人信息, 共有信息有:学号,姓名,性别,职业为教师('t')则登记其单位为position,职业为学生('s')则登记为banji。 最后输出信息。
#include <stdio.h>
#define N 2
struct person
{
int num;
char name[20];
char sex;
char job;
union
{
int banji;
char position[20];
}p;
}man[N];
void main()
{
int i;
for( i=0; i<N; i++ )
{
printf("Please input number : ");
scanf("%d", &man[i].num);
printf("Please input name : ");
scanf("%s", &man[i].name);
printf("Please input sex(M/W) : ");
scanf("%c", &man[i].sex);
getchar();
printf("Please input job(s/t) : ");
scanf("%c", &man[i].job);
getchar();
if( man[i].job=='s')
{
printf("PLease input banji : ");
scanf("%d", &man[i].p.banji);
}
else if( man[i].job=='t')
{
printf("Please input position : ");
scanf("%s", &man[i].p.position);
}
printf("\n");
}
printf("num : \tname : \tsex : \t job : \t");
for( i=0; i<N; i++ )
{
if( man[i].job == 's')
{
printf("%d\t%s\t%c\t%d\n", man[i].num, man[i].name, man[i].sex, man[i].p.banji);
}
else if( man[i].job == 't')
{
printf("%d\t%s\t%c\t%s\n", man[i].num, man[i].name, man[i].sex, man[i].p.position);
}
}
}
为什么if和else if里面不执行?
可能是man.job == 's'条件识别不了, 但为什么呢
求解啊!
[/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i]
|
|