国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

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

程序出現運行時錯誤

瀏覽:49日期: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。

相關文章:
主站蜘蛛池模板: 亚洲精品视频免费在线观看 | 奇米四色综合久久天天爱 | 精品久久久日韩精品成人 | 亚洲国产欧美91 | 成人国产欧美精品一区二区 | 精品96在线观看影院 | 久久精品中文字幕免费 | 亚洲精品一区二区三区四区 | 免费香蕉成视频成人网 | 欧美特黄一片aa大片免费看 | 97青草香蕉依人在线播放 | 夜色爽爽| 久久欧美成人精品丝袜 | 1级黄色毛片 | 欧美午夜成年片在线观看 | 一级做a爰片久久毛片苍井优 | 国内国语一级毛片在线视频 | 免费成人一级片 | 呦视频在线一区二区三区 | 国产精品免费精品自在线观看 | 亚洲加勒比 | 亚洲黄色免费网址 | 加勒比综合网 | 一级片在线观看视频 | 午夜一级影院 | 欧美日韩亚洲一区二区三区 | 一级做性色a爱片久久片 | 久久久精品免费视频 | 国产亚洲一区在线 | 久久er热这里只有精品23 | 精品一区二区在线观看 | 亚州色吧 | 中文字幕波多野不卡一区 | 亚州在线视频 | 狠狠色丁香婷婷久久综合考虑 | 亚洲综合色一区二区三区小说 | 国产人做人爱免费视频 | 日本在线免费视频 | 欧美人成在线 | 一级特黄一欧美俄罗斯毛片 | 欧美成人看片一区二区三区尤物 |