久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

程序出現(xiàn)運(yùn)行時(shí)錯(cuò)誤

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

問(wèn)題描述

#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;}

在程序中加斷點(diǎn),發(fā)現(xiàn)運(yùn)行到return l + 1處時(shí)報(bào)錯(cuò),報(bào)錯(cuò)信息如下

程序出現(xiàn)運(yùn)行時(shí)錯(cuò)誤

在VSCODE中還會(huì)彈出一個(gè)窗口,提示源 源未知 不可用

程序出現(xiàn)運(yùn)行時(shí)錯(cuò)誤

請(qǐng)問(wèn)問(wèn)題出在哪里了?謝謝了

問(wèn)題解答

回答1:

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

相關(guān)文章:
主站蜘蛛池模板: 灵武市| 尼木县| 龙里县| 汤原县| 新田县| 五指山市| 盐亭县| 米易县| 湘乡市| 温州市| 革吉县| 郴州市| 文安县| 同心县| 当涂县| 皮山县| 唐河县| 黄大仙区| 梁平县| 恭城| 九江县| 平果县| 保定市| 梅河口市| 赤水市| 温宿县| 伊宁县| 石楼县| 奉化市| 迁西县| 左权县| 宽甸| 商洛市| 宕昌县| 左贡县| 平乐县| 静乐县| 刚察县| 永安市| 收藏| 美姑县|