gpt4 book ai didi

C++ 奇怪的执行顺序

转载 作者:行者123 更新时间:2023-12-01 14:47:19 25 4
gpt4 key购买 nike

在代码块上运行此代码时,断点 2 发生在断点 1 之前。
断点 1 最终出现在断点 1 之后,但只是想知道为什么它以 212 的顺序出现

#include <bits/stdc++.h>
using namespace std;

void solve() {
int n; cin >> n; // Breakpoint 1
int monks[n];

for(int i=0; i<n; i++){
int a; cin >> a;
monks[i] = a;
}



sort(monks, monks+n);


int total = 0; // Breakpoint 2

}

int main() {
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);

freopen("hirein.txt", "r", stdin);
freopen("hireout.txt", "w", stdout);

solve();

return 0;
}

最佳答案

断点 2 正在初始化。断点 1 位于至少完成一些初始化后必须发生的代码上。同时初始化所有变量可能是最简单的。甚至可能是一个 memset -like 操作用于将它们全部归零。
如果所有初始化同时发生,那么断点 2 将在断点 1 之前发生。

关于C++ 奇怪的执行顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62945751/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com