亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

程序出現運行時錯誤

瀏覽:55日期: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;}

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

程序出現運行時錯誤

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

程序出現運行時錯誤

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

問題解答

回答1:

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

相關文章:
主站蜘蛛池模板: 久久最新网址 | 国内外成人在线视频 | 污黄在线观看 | 国产欧美成人一区二区三区 | 毛片免费全部完整播放 | 欧美在线一区视频 | 日韩国产免费一区二区三区 | 黄在线视频播放免费网站 | 国产精品va在线观看手机版 | 欧美一做特黄毛片 | 日韩做爰视频免费 | 在线免费观看一区二区三区 | 成人毛片18女人毛片免费 | 韩国黄色一级毛片 | 久久久久久88色偷偷 | 香蕉精品在线 | 国产一区二区在线视频观看 | 成人欧美精品久久久久影院 | 国产精品久久久亚洲第一牛牛 | 好黄好猛好爽好痛的视频 | 国产永久视频 | 成人一区二区丝袜美腿 | 中文字幕亚洲一区二区v@在线 | 欧美日韩a级片 | 综合区小说区图片区在线一区 | 欧美婷婷综合 | 欧美日韩国产免费一区二区三区 | 黄色片免费在线看 | 久久亚洲国产 | 亚洲成aⅴ人片在线观 | 女人被两根一起进3p在线观看 | 黄色福利在线观看 | 成年女人免费观看 | 四虎现在的网址入口2022 | 全部免费国产潢色一级 | 日本黄大片视频在线播放 | 久久羞羞 | www免费播放观看在线视频 | 久久国产精品国产自线拍免费 | 国产大片一区 | 免费一级a毛片 |