关于结构体中定义float数据类型的问题
请看以下两个程序
程序一:结构体中定义了int数据类型,运行没有错误
#include <stdio.h>
#define N 2
struct xueyuan
{
int xh;
char name[10];
int cj[3];
}arr[N],*ptr;
void main()
{
int i,j;
ptr=arr;
for(i=0;i<1;i++,ptr++)
{
printf("input xuehao:");
scanf("%d",&ptr->xh);
printf("name:");
scanf("%s",ptr->name);
printf("input chengji:\n");
for(j=0;j<3;j++)
{
printf("%d:",j+1);
scanf("%d",ptr->cj+j);
}
}
printf("\n%d,%s,%d,%d,%d\n",arr[0].xh,arr[0].name,arr[0].cj[0],arr[0].cj[1],arr[0].cj[2]);
}
程序二:在结构体中定义float类型,程序运行到输入float数据便出现程序中止
#include <stdio.h>
#define N 2
struct xueyuan
{
int xh;
char name[10];
float cj[3];
}arr[N],*ptr;
void main()
{
int i,j;
ptr=arr;
for(i=0;i<1;i++,ptr++)
{
printf("input xuehao:");
scanf("%d",&ptr->xh);
printf("name:");
scanf("%s",ptr->name);
printf("input chengji:\n");
for(j=0;j<3;j++)
{
printf("%d:",j+1);
scanf("%f",ptr->cj+j);
}
}
printf("\n%d,%s,%f,%f,%f\n",arr[0].xh,arr[0].name,arr[0].cj[0],arr[0].cj[1],arr[0].cj[2]);
}
[此贴子已经被作者于2007-8-21 22:32:56编辑过]