这是C++第1部分中结构的奇怪行为的延续
如果我这样做
#include<iostream>
using namespace std;
struct box
{
//int simple_int;
int arr[3];
};
int main()
{
box a={10,20,30};
//box b={100};
//cout<<b.simple_int<<"\n";
cout<<a.arr[0];
}
Run Code Online (Sandbox Code Playgroud)
输出: 10这是正确的.
但如果我删除评论.
#include<iostream>
using namespace std;
struct box
{
int simple_int;
int arr[3];
};
int main()
{
box a={10,20,30};
box b={100};
cout<<b.simple_int<<"\n";
cout<<a.arr[0];
}
Run Code Online (Sandbox Code Playgroud)
OUTPUT: 100 20 //instead of 100 10
为什么?
Nem*_*ric 10
box a = {10, 20, 30};
Run Code Online (Sandbox Code Playgroud)
将初始化为:
a.simple_int = 10;
a.arr = {20, 30, 0};
Run Code Online (Sandbox Code Playgroud)
输出时a.arr[0],它将按预期输出20.
| 归档时间: |
|
| 查看次数: |
198 次 |
| 最近记录: |