我得到错误表达式不能分配给

时间:2018-12-03 23:40:40

标签: c

您能告诉我为什么“ p”不可分配吗?


void gl_mean (double x,double *count, double *mean) {
  double p;
  x+(*mean**count) / *count+1=p;
  printf("%f",p);
}

Clion图片的截图: enter image description here

2 个答案:

答案 0 :(得分:3)

.sdrawkcab siedC

void gl_mean (double x,double *count, double *mean) {
  double p;
  // x+(*mean**count) / *count+1=p;
  p = x+(*mean * *count) / *count + 1;
  printf("%f",p);
}

答案 1 :(得分:2)

不是p就是问题。
无法分配它,因为您尝试将其分配给它的是一个表达式,它是一个“右值”,即只能位于赋值右侧的东西。

如果您尝试解释这一行,问题应该变得很清楚

x+(*mean**count) / *count+1=p;

尝试识别您要分配给的变量。

要分配某些内容,您需要将一个右值(可能是您的表达式)分配给一个左值,最有可能是p

您可能想要的代码很可能是

p=...;

我不确定您的表达是否完全清晰,因此我将保留此内容。