我想创建一个double
类型的数组,并按0.0
初始化它。我做了以下事情:
double sum[3];
sum = {0.0};
for (int i = 0; i < 3; ++i) {
printf("%f ", sum[i]);
}
然而,编译器说它是错误的error: expected expression
!为什么?以及如何解决它?
答案 0 :(得分:3)
您没有初始化,而是分配值。此外,您根本无法将任何内容分配给数组类型。
赋值运算符的LHS操作数应该是可修改的左值,并且数组(数组名称)不是可修改的lvaule。所以你不能为数组分配任何内容。
尝试类似
的内容double sum[3] = {0.0};
答案 1 :(得分:1)
您可以初始化声明中的所有元素......
double sum[3] = {0.0, 0.0, 0.0};
或在你的循环中一次一个......
double sum[3];
for (int i = 0; i < sizeof( sum ) / sizeof( double ); i++)
{
sum[i] = 0.0;
printf("%f ", sum[i]);
}