我正在尝试编写C ++程序来执行以下操作:
计算结构数组所有成员的总和
这是代码:
#include<iostream>
using namespace std;
struct complex
{
int real;
int image;
};
int f3(complex a[])
{
int sum=0,i;
for(i=0;i<3;i++)
{
sum=sum+a[i].real+a[i].image;
}
return sum;
}
int main()
{
complex z[3]={(1,1),(1,1),(1,1)};
cout<<f3(z)<<endl;
return 0;
}
我得到的结果是3
,但是我期望它是6
。
为什么结果是3而不是6?
答案 0 :(得分:1)
(1,1)
是一个逗号表达式,其值为单个值1
。要初始化结构,您需要大括号{1,1}
。