在这种情况下,程序的工作方式与预期一致。
#include <iostream>
struct candyBar
{
char brandName[20];
double weight;
int calories;
};
int main()
{
using namespace std;
candyBar snack = { "Mocha Much", 2.3, 350 };
cout << snack.brandName << "\t" << snack.weight << "\t" << snack.calories << endl;
return 0;
}
但在此迭代中,在定义struct candyBar 之后声明变量 snack 时,程序会显示以下警告:
程序会为 brandName 和 weight 成员输出正确的值,但会将卡路里的值更改为350.为什么这会发生吗?
#include <iostream>
struct candyBar
{
char brandName[20];
double weight;
int calories;
} snack;
int main()
{
using namespace std;
snack = { "Mocha Much", 2.3, 350 };
cout << snack.brandName << "\t" << snack.weight << "\t" << snack.calories << endl;
return 0;
}