c語言內存不能為read
Ⅰ c語言該內存不能為read怎麼解決
一般就是內存寫異常,即0xc000 0005的異常,這種異常,基本都是因為內存訪問了系統使用的虛擬內存地址范圍 比如 0xffff ffff,最常見的就是向 0號地址寫入異常,比如
*(int*)0=0;//這種最容易引發不能寫的異常。。
Ⅱ c語言運行時提示「內存不能為read」,求幫助調試
#include "stdafx.h"
int main(int argc, char* argv[])
{
int a[10]={5,7,9,5,2,5,7,9,8,2},n=10;
int k=0;
for(int i=0; i<n; i ++)
{
for(int j=i+1;j<n;i++)
if(a[i]==a[j])
a[i-k]=a[i]; //這里改成a[j-k]=a[i]; 試試!
else
k++;
}
n=n-k;
for(i=0; i<n; i ++)
printf("%4d", a[i]);
printf("\n");
return 0;
}
Ⅲ c語言的題目,運行出現該內存不能為read
內存出錯往往都是對地址操作不當,看你的這一句
scanf("%d",score);
,是不是要改為
scanf("%d",&score);,前面加一個取地址。
Ⅳ C語言程序運行內存不能為read
內存不能讀,這問題吧,一般是你的指針指向了不該指向的位置,不能讀/寫很正常。細細檢查你的指針,看看它們有沒有因為你的大意而失去控制。細節決定成敗!
Ⅳ C語言內存不能為read是什麼意思,
內存不能為"Read"或"written"(原因以及解決方案):
(【sql1981】原創答案,引用請說明原作者:sql1981,未通知原作者嚴禁復制本答案!!)
系統出現內存不能為"Read"或"written"的原因:
1、驅動不穩定,與系統不兼容,這最容易出現內存不能為 Read 或者文件保護
2、系統安裝了一個或者多個流氓軟體,這出現 IE 或者系統崩潰的機會也比較大,也有可能出現文件保護
3、系統載入的程序或者系統正在運行的程序之間有沖突,尤其是部分殺毒軟體監控程序
4、系統本身存在漏洞,導致容易受到網路攻擊。
5、病毒問題也是主要導致內存不能為 Read、文件保護、Explorer.exe 錯誤……
6、如果在玩游戲時候出現內存不能為 Read,則很大可能是顯卡驅動不適合(這里的不適合有不適合該游戲、不適合電腦的顯卡),也有可能是 DX9.0C 版本不夠新或者不符合該游戲、顯卡驅動
7、部分軟體本身自身不足的問題
8、電腦硬體過熱,也是導致內存不能為 Read 的原因之一。
9、電腦內存與主板兼容性不好也是導致內存不能為 Read 的致命原因!
提供幾種解決方案:
1、一次運行注冊所有dll,方法如下:
開始——運行,輸入cmd 回車在命令提示符下輸入
for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1
這個命令你慢慢輸,仔細點,輸入正確的話會看到飛快地滾屏 否則……否則失敗就是沒這效果。回車後慢慢等(需要點時間1-2分鍾) 都運行完再嘗試之前的操作,看還有沒有出現不能為read的現象。
2、在控制面板的添加/刪除程序中看看你是否安裝了微軟NET.Framework,如果已經安裝了,可以考慮卸載它,當然如果你以後在其它程序需要NET.Framework時候,可以再重新安裝。
另外,如果你用的是ATI顯卡並且你用的是SP2的補丁(一些ATI的顯卡驅動需要在NET.Framework正常工作的環境下)。這種情況你可以找一款不需要NET.Framework支持的ATI顯卡驅動。
如果以上兩種方法並不能完全解決問題,你試著用一下360安全衛士的的「IE修復」或其他類似軟體,並可以查查是否有病毒之類的。〔微軟NET.Framework升級到1.1版應該沒問題了〕
3、引起這個問題的原因很多。一般來講就是給系統打上補丁和更換內存、給內存換個插槽這3種方法來解決。[系統補丁只要到Microsoft Update網站在線更新就可以了!