我目前正在开发一个程序,将您的姓名,地址,学校标记等作为输入,并且必须计算f.e的平均分数。主题APHM。
有人可以解释为什么使用指针将值添加到变量中会不起作用吗?
提前致谢!
double avgINF=0, avgAPHM=0, ...;
struct adresse{
char vorname[50];
char nachname[50];
char strasse[50];
char hausnr[50];
char tuer[10];
char ort[50];
char plz[10];
double noteAPHM[1];
double noteINF[1];
} adressen[41];
avgINF += adressen[i-1].noteINF;
错误:二进制表达式的操作数无效(double *)
答案 0 :(得分:1)
欢迎光临本站!如果noteINF
仅应包含一个值,则应为double noteINF;
而不是double noteINF[1];
。对于单个值,您不需要数组([1]
后缀)。
至于您的错误消息,noteINF[1]
是一个数组。在上面的代码的上下文中,数组的名称表现为指向数组的第一个元素的指针。因此noteINF
表现为double *
(指向double的指针),noteINF[0]
表示double
(数组的第一个元素)。网上有很多关于C数组和指针的教程,因为几乎每个人都会在某些时候绊倒它们。祝你好运!