c语言,请问一下这个程序为啥不能正常运行运行? scanf("%c",&personnel[i].kind); 这里总是有问题

[复制链接]
查看11 | 回复3 | 2011-4-3 14:13:23 | 显示全部楼层 |阅读模式
#include"stdio.h"
//#include"conio.h"
//#include"string.h"
union condition
{
float score[10];
char situation[80];
};
struct person
{
char name[20];
char num[10];
char kind;
union condition state;
}personnel[2];
void main()
{
int i,j;
for(i=0;i<2;i++)
{
puts("Enter name:");
scanf("%s",personnel.name);
puts("Enter num:");
scanf("%s",personnel.num);
printf("Enter kind:");
scanf("%c",&personnel.kind);
printf("%c",personnel.kind);
if(personnel.kind=='t')
{puts("Enter situation:");
scanf("%s",personnel.state.situation);
}
else
for(j=0;j<10;j++)
scanf("%f",&personnel.state.score[j]);
}
for(i=0;i<2;i++)
{
printf("%s\n",personnel.name);
printf("%s\n",personnel.num);
printf("%c\n",personnel.kind);
if(personnel.kind=='t')
puts(personnel.state.situation);
else
for(j=0;j<10;j++)

printf("%6.1f",personnel.state.score[j]);
}
}

回复

使用道具 举报

千问 | 2011-4-3 14:13:23 | 显示全部楼层
#include"stdio.h"#include"string.h"union condition{ float score[10]; char situation[80];};struct person{ char name[20]; char num[10]; char kind; union condition state;}personnel[2];void main(){ int i,j; for(i=0;i<2;i++) {puts("Enter name:");scanf("%s",personnel.name);puts("Enter
回复

使用道具 举报

千问 | 2011-4-3 14:13:23 | 显示全部楼层
请问,你使用的C编译器是什么?我使用VC++ 6.0,可以通过。
回复

使用道具 举报

千问 | 2011-4-3 14:13:23 | 显示全部楼层
在那条语句之前加一句:getchar();试试。
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行