向结构体数组输入数据出错不知道错在哪#includestdio.h#includestring.h//#includestdlib.h#include
向结构体数组输入数据出错 不知道错在哪
#include<stdio.h>
#include<string.h>
//#include<stdlib.h>
#include <windows.h>
//#define LINE printf("-------------------------------------------\n")
#define pause system("pause")
//#define ADR(name) "C:\Documents and Settings\fhg\桌面\C++系统缓冲文件\name"
//#include<malloc.h>
typedef int ZS;
typedef long CZ;
typedef float FD;
typedef char ZF;
#define SS struct student
SS{
CZ num;
ZF name[20];
FD sco[3];
}s[5];
void main()
{
ZS i,j;
for(i=0;i<5;i++)
{
scanf("%ld%s",&s[i].num,&s[i].name);//用s[i].name也出错
for(j=0;j<3;j++)
scanf("%f",&s[i].sco[j]);
}
}
如输入 10 abc 10 10 10 按回车就出现错误,VC++6.0。XP系统
[解决办法]
%lf试试?
[解决办法]
void main()
{
ZS i,j;
for(i=0;i<5;i++)
{
scanf("%ld%s",&s[i].num,s[i].name);
for(j=0;j<3;j++)
scanf("%f",&(s[i].sco[j]));
}
}
[解决办法]
- C/C++ code
#include<stdio.h>#include<string.h>//#include<stdlib.h>//#define LINE printf("-------------------------------------------\n")#include <Windows.h>#define pause system("pause")//#define ADR(name) "C:\Documents and Settings\fhg\桌面\C++系统缓冲文件\name"//#include<malloc.h>typedef int ZS;typedef long CZ;typedef float FD;typedef char ZF;#define SS struct studentSS{ CZ num; ZF name[20]; FD sco[3];}s[5];void main(){ ZS i,j; for(i=0;i<5;i++) { //printf("input num and name: \n"); scanf("%ld%s",&s[i].num,s[i].name);//用s[i].name也出错 //printf(" %d->num is %ld; name is %s\n", i, s[i].num, s[i].name); for(j=0;j<3;j++) { // printf("input the sco: \n"); scanf("%f",&s[i].sco[j]); // printf("%d[%d]->sco is :%f\n", i, j, s[i].sco[j]); } }} 