#include<iostream.h>
struct stu
{
char name[20];
char sex;
long num;
float score[3];
}student;
char temp[20];
gets(student.name);
student.sex=getchar();
gets(temp);
student.num=atoll(temp);
for(i=0;i<3;i++)
{
gets(temp);
student.score[1]=ato1(temp);
}
编译时有错```原因是什么啊?
typedef struct stu
{
char name[20];
char sex;
long num;
float score[3];
}student;
应该是这样定义结构体的
#include "stdio.h"
#include "string.h"
struct stu
{
char name[20];
char sex;
long num;
float score[3];
}student;//定义没错
int main(void)
{
char temp[20];
int i;
printf("input name:\n");//最好加上输入提示信息
gets(student.name);
printf("input sex:\n");
student.sex=getchar();
printf("input num:\n");
getchar();//注意添加,不然就把gets(temp);换成scanf("%s",temp);
gets(temp);
student.num=atol(temp);//注意字符串转换长整型函数
printf("input scores:\n");
for(i=0;i<3;i++)
scanf("%f",&student.score[i]);
printf("\noutput:\n");
printf("%s\n%c\n%ld\n",student.name ,student.sex,student.num);
for(i=0;i<3;i++)
printf("%.2f\n",student.score[i]);
return 0;
}