亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術文章
文章詳情頁

程序出現運行時錯誤

瀏覽:83日期:2024-08-11 17:37:30

問題描述

#include <algorithm>#include <iostream>#include <cmath>#include <vector>using namespace std;int countPrimes(int n) { if (n <= 2)return 0; vector<int> arr(n, 0); for (int i = 2; i <= sqrt(n); ++i) {if (!arr[i]) for (int j = i * i; j <= n; j += i) {arr[j] = 1; } } cout << arr[2] << endl; int j = 0; for (int i = 2; i <= n; ++i) {if (!arr[i]){ arr[j++] = i;} } cout << "j" << j << endl; int l = 0, r = j - 1; while (l <= r) {int m = (l + r) >> 1;cout << m << endl;cout << "arr[m]" << arr[m] << "n - 1" << n - 1 << endl;if (arr[m] == n - 1){ l = r = m; return l + 1;}else if (arr[m] < n - 1){ l = m + 1;}else r = m - 1;cout << "l = " << l << "r= " << r << endl;cout << "m=" << m << endl; } cout << l << endl; return 0;}int main(){ cout << countPrimes(6) << endl; return 0;}

在程序中加斷點,發(fā)現運行到return l + 1處時報錯,報錯信息如下

程序出現運行時錯誤

在VSCODE中還會彈出一個窗口,提示源 源未知 不可用

程序出現運行時錯誤

請問問題出在哪里了?謝謝了

問題解答

回答1:

通常win平臺非預期的sigtrap都是heap corruption。再看你的代碼,第十六行arr[j] = 1; 明顯有invalid write。所以vector arr(n, 0);的n應該改大一點,比如n+1。

相關文章:
主站蜘蛛池模板: 欧美成人观看 | 亚洲欧美国产日韩天堂在线视 | 久草在线新视频 | 国产三级a三级三级三级 | 国产日韩亚洲欧美 | 高清欧美一级在线观看 | 欧美高清免费精品国产自 | 国产一级在线 | 日本特级淫片免费 | 免费观看呢日本天堂视频 | 欧美国产精品久久 | 欧洲成人在线 | 色偷偷88欧美精品久久久 | 成 人 黄 色 视频 免费观看 | 亚洲偷自拍另类图片二区 | 欧美日韩另类国产 | 免费一级在线 | 99视频久久精品久久 | 久久影院在线 | 欧美精品免费线视频观看视频 | 日本人视频网站一 | 久久国内免费视频 | 久久成人18免费网站 | 久9视频这里只有精品 | 精品无码久久久久久国产 | 国产精品久久亚洲一区二区 | 2020黄网| 日韩免费一级 | 久草视频福利在线观看 | 欧美xxxx精品另类 | 国产一级强片在线观看 | 91香蕉国产线观看免 | 亚洲欧美人妖另类激情综合区 | 美美女高清毛片视频免费观看 | 日韩欧美在线视频一区二区 | 综合91| 日本亚洲综合 | 69精品免费视频 | 在线观看 a国v | 国产精品成久久久久三级 | 91视频啪啪|