C程式無錯,但執行報記憶體不能write

時間 2025-01-15 12:15:03

1樓:網友

如果你是要輸入輸出字串,請把開頭的定義char ch; 改成char *ch;(%s表示輸出的格示是字串,只能用陣列或指標定義字串)

void out(char ch,int row,int line); void out(char *ch,int row,int line);

如果是輸入輸出乙個字元,把這。

printf("%s",ch);-printf("%c",ch);(s輸出遇到'\0'時才會停止讀記憶體)

我學c的時也經常遇到這樣的問題。

2樓:匿名使用者

scanf("%s",ch);

第一點,ch是個字元變數,而不是字元陣列,所以不能用%s,而應該用%c

第二點,ch是個字元變數,面不是字元陣列,所以它不代表位址,因此要加取址操作符。

綜上,應改為如下:

scanf("%c",&ch);

3樓:

ch要& 最好%c 否則容易出錯。

為什麼我的電腦會出現記憶體無法write????////

4樓:匿名使用者

關於記憶體不能read的解決方案。

這種情況偶爾出現,沒什麼關係,不用管他。點選『取消』就可以了。

經常出現就危險了,弄不好就得重灌系統了。

執行某些程式的時候,有時會出現記憶體錯誤的提示,然後該程式就關閉。

0x」指令引用的「0x」記憶體。該記憶體不能為「read」。

0x」指令引用的「0x」記憶體,該記憶體不能為「written」。

一般出現這個現象有方面的,一是硬體,即記憶體方面有問題,二是軟體�方面有問題?

故障分析 硬體方面:

一般來說,記憶體出現問題的可能性並不大,主要方面是:記憶體條壞了、記憶體質量有問題,還有就是2個不同牌子不同容量的記憶體混插,也比較容易出現不相容的情況,同時還要注意散熱問題,特別是超頻後。你可以使用memtest 這個軟體來檢測一下記憶體,它可以徹底的檢測出記憶體的穩定度。

假如是雙記憶體,而且是不同品牌的記憶體條混插或者買了二手記憶體時,出現這個問題,這時,就要檢查是不是記憶體出問題了或者和其它硬體不相容。

軟體方面:先簡單說說原理:記憶體有個存放資料的地方叫緩衝區,當程式把資料放在其一位置時,因為沒有足夠空間,就會發生溢位現象。舉個例子:

乙個桶子只能將一斤的水,當放入兩斤的水進簡弊亮入時,就會溢位來。而系統則是在螢幕上表現出卜租來。這個問題,經常出現在windows2000和xp系統上,windows 2000/xp對硬體的要求是很苛刻的,一旦遇到資源死鎖、溢位或者類似windows 98裡的非法操作,系統為保持穩定,就會出現上述情況。

另外也攔寬可能是硬體裝置之間的相容性不好造成的。

如果還是不行 建議重新做下系統。

5樓:匿名使用者

解除安裝了,重新安裝。

這是你的登錄檔沒有安裝好,所以導致的。

6樓:匿名使用者

沒見過……write的。

是無法read吧。

可能是有病毒了。

我的電腦經常出現各種各樣的記憶體不能read或者不能write

7樓:低拋高吸

首先看看提示的程式是什麼,可能是這個程式出現問題,如果是解除安裝重灌。如果開機出現提示,可以將這個程式的開機啟動去掉。如果查不出來或提示的不是程式,你可以回憶一下,當你出現這種故障前你都**了什麼程式軟體、外掛程式、補丁或是驅動,如果想起先將它埋伍們全部解除安裝試試 (如果是在開啟遊戲時出現的提示,可能是遊戲本身有問題,還有這個遊戲與你的系統不相容,還有就是顯示卡驅動不合適等)。

如果無法查詢,建議先查殺一下木馬,修復一下系統試試。

1、請你用系統自帶的系統還原,還原到你沒有出現這次故障的時候修復(或用還原軟體進行系統還原,如果進不了系統,開機按f8進入安全模式還原系統)。

2、如果故障依舊,使用系統盤修復,開啟命令提示符輸入sfc /scannow 回車(sfc和/之間有乙個空格),插入原裝系統盤修復系統,系統會自動對比修復的。

3、如果故障依舊,在bios中設定光碟機為第一啟動裝置插入原裝系統安裝盤按r鍵選擇「修復安裝」即可。

4、如果故障依舊,建議重灌作業系統。

使用系統自帶的系統還原的方法:

系統自帶的系統還原:「開始」/「程式」/「附件」/「系統工具」/「系統還原」,點選「恢復我的計肢液歲算機到乙個較早的時間」,按下一步,你會看到日期頁面有深色的日期,那就是還原點,你選擇後,點選下一步還原(win7還原系統,在控制面板然後裝置歷睜和安全子選項然後備份和還原子選項)。

用輸入命令的方式解決:執行輸入cmd回車,開啟命令提示符輸入 for %1 in (%windir%\system32\*.dll)do %1 回車。

硬體方面用軟體測試一下cpu的溫度是否過高,最近是否公升級了硬體,清一下灰,重新插拔一下記憶體等硬體。

c++執行時出現記憶體不能為read,

8樓:爵爺

你好!電腦出現:【該記憶體不能為read與written】,原因是比較複雜的,請對症下藥!

1。配置錯誤!【重啟,出完電腦品牌後,按f8,安全模式,最後一次正確配置,回車,回車】!

2。系統漏洞!【360安全衛士或金山衛士,或可牛免費防毒,修復:高危和重要的,其它忽略】!

3。軟體衝突!【解除安裝不常用的軟體,保持系統穩定,尤其是同型別的軟體,不相容】!

4。軟體版本過舊!【使用:(驅動人生),更新:顯示卡驅動,音效卡驅動!其它軟體,覆蓋安裝】!

5。病毒木馬!【防毒軟體,全盤含隱掃瞄與自定義掃瞄,完畢後,隔離區,徹底刪除】!

6。惡評外掛程式!【可牛免費防毒,金山衛士,或談鏈廳360安全衛士,清理惡評外掛程式】!

7。可疑啟動項!【360系統急救箱,開始急救,檔案恢復區,徹底刪除檔案】!

8。系統檔案損壞!【金山急救箱】,擴充套件掃瞄,立即掃瞄,立即處理,重啟電腦】!

10。指令修復法!開始選單,執行 ,輸入cmd, 回車,在命令提示符下輸入(複製即可) :

for %1 in (%windir%\system32\*.ocx) do regsvr32 /s %1

貼上,回車,滾動完畢後,再輸入:

for %1 in (%windir%\system32\*.dll) do /s %1

回車!直到螢幕滾動停止為止,重啟電腦!

執行錯誤的C 程式,一個執行錯誤的C 程式

for x 2 x 100 x 這一句後面的 去掉 cout 100以內的素數為 using namespace std int isprime int x int main int isprime const int x 修改完畢,都是很小的細節問題。include using namespace...

linux中,執行c語言程式如何執行

1 開啟kali linux的終端。建立一個檔案並命名為test.c。在終端輸入 touch test.c。2 可以看到已經生成了一個字尾為test.c的原始檔。然後用vim工具開啟這個檔案並編寫 在終端中輸入 vim test.c或者gvim test.c開啟這個檔案並編寫 3 編寫完了這個 現在...

我用C語言寫了個程式可以執行但得不到結果為什麼啊

應該是沒有結果出現吧。我覺得應該是整形變數的表示範圍不夠,你的迴圈中用到了1000000000,這個整形變數是表示不了的,而且你還在計算階乘,階乘的結果很空間溢位。階乘的返回值最好用 int64 vc 或者long long dev c 主要原因是你程式有問題,你的count未賦初值,在上面加上co...