C语言问题 谁来帮我看看这个函数哪里错了

来源:百度知道 编辑:UC知道 时间:2024/06/22 00:09:12
typedef struct{
float x, y, w;
}data_t;

int
read_data(void) {
int n=0;
float nx,ny,nw;
data_t data[MAX_SOURCE];
while(scanf("%f %f %f",&nx,&ny,&nw)==3){
if(n==MAX_SOURCE+1){
printf("Excess Sound Source Entered.\n");
exit(EXIT_FAILURE);
}else{
data[n].x=nx;这个地方似乎有问题
data[n].y=ny;
data[n].w=nw;
n++;
}
}
return n;
}
我输入的数据没有读到这个STRUCTURE里面去,我对STRUCTURE不是很了解

编译可以过呀,不知道你说的错误是什么呢

哦,你的data数组是在函数里头定义的,是局部变量,出了函数就没有了。你把它定义为全局变量就行了。

if(n==MAX_SOURCE+1)
应该是if(n==MAX_SOURCE)这个吧...