1樓:
把printf("%s\n",a[i])改成printf("%c",a[i]),再在其後加一句printf("\n")。 另:好像沒有"rw"這個控制符。
如果是生成並讀寫檔案要用"w+",而若開啟並讀寫則用"r+"。 還有,你唯讀出來乙個字元,所以輸出除第乙個字元外一般是隨機的……
2樓:匿名使用者
printf("%s\n",a[i]);如果你用int陣列,這邊要改為 printf("%d\n",a[i]);
3樓:匿名使用者
需要將printf("%s\n",a[i]); 改為 printf("%c\n",a[i]);
size_t fread(void *buffer, size_t size, size_t count, file *stream);
從乙個檔案流中讀資料,讀取count個元素,每個元素size位元組.如果呼叫成功返回count.如果呼叫成功則實際讀取size*count位元組
在此你只在a陣列中存入了乙個字元,for迴圈中輸出了兩個字元,導致第二個字元讀不出來
c語言程式設計顯示記憶體不能為read
4樓:匿名使用者
該提示出現在執行階段,表示程式執行時訪問了不可以訪問的記憶體,即訪問越界。
由於提示是不能read,所以是出現在讀訪問。一般有如下幾種情況:
1 對陣列訪問越界。
常見於陣列的迴圈訪問,或以變數為下標導致超出陣列定義範圍。
對於c語言陣列,定義或分配了n個元素的空間時,下標或指標移動只允許在0~n-1範圍內進行,超出這個範圍即為越界,會導致不可預知後果,其中一種即為記憶體不能read。
2 對字串訪問或輸出時,字串中沒有賦值結束符\0.
c語言的字串操作,均以\0作為結束標誌。
如果字串中沒有指定結束符,那麼函式會一直訪問下去,導致超過字串定義的空間範圍,從而出現記憶體不能為read提示。
3 指標強制轉換。
當目標指標型別所占用空間,超過了原本指標指向位址分配的內容時,按照新指標訪問,會導致越界。
比如定義乙個10位元組的結構體變數,然後把位址強制賦值給乙個100位元組的結構體指標型別,那麼通過後者去訪問後90位元組範圍時,就屬於越界操作,有可能出現記憶體不能read錯誤。
5樓:爽朗的小洛
#include
#define n 5
int main()
// if(i!=m)printf("%5d",a[i]);
// }
for(i = 0; i < n; i++)s--;}}
}for(i = 0; i < s; i++)return 0;
}可能還有些細節問題。吃飯去了 如果你發現什麼問題,說下額。。。。**還有問題。。。我回來修改下
6樓:謝應宸
我這邊執行好像沒出問題(結果肯定不對)
你用單步跟蹤的方式看下在哪一行掛掉的
7樓:阿冬
你在第一次執行j++之前沒有給j賦過初值啊。
8樓:匿名使用者
#define n 5
int main(array^args)
;int value1[n];
for(i=0; i< n; i++)
for( i = 0; i < n; i++) }}j = 0;
for( i = 0; i < n; i++ )value1[j] = value[i];
j++;
}for(i=0;i 在c++中char型別的陣列裡邊裝的是數字,如何轉換為int型別? 9樓:會飛的小兔子 cha和rint陣列轉換,例: inti[2]= charc[2]= 兩者轉換**: inta[2]=; charc[2]; for(inti=0;i<2;i++)c[i]=a[i]; int是將乙個數值向下取整為最接近的整數的函式,為取整函式。 擴充套件資料char*、string、cstring這三種字串型別各有各的優點,比如cstring比較靈活,是基於mfc常用的型別,安全性也最高,但可移植性最差。string是使用stl時必不可少的型別,所以是做工程時必須熟練掌握的;char*是從學習c語言開始就已經和我們形影不離的了,有許多api都是以char*作為引數輸入的。 char*型別:是字元指標,在一定條件下等同於字元陣列,如果字元陣列的最後元素是"\0",則是乙個c風格的字串。 10樓:匿名使用者 在標頭檔案中新增 #include #include void main() {char *s; int n; s="1234"; n=atoi(s); cout<:1234 標頭檔案中新增#include 用 x=atof(s)可轉化為double型,用(float)x可轉為float型 11樓:匿名使用者 #include void main() //用int()也可以換的方便 12樓:匿名使用者 char str="10"; int num=strtol(str,null,10); 其中,把10換成16可以 獲得16進製制數(即num=16),換成其他數字,可以獲得其他進製的數(如換成8的話,n=8) 13樓:匿名使用者 #include #include #include using namespace std; template t lexical_cast(u u) int main() 14樓:匿名使用者 char dd[n];//設陣列的長度是nint ee[n]; for(int i=0;i 安裝遊戲時出現 該記憶體不能為read 15樓:華碩服務 1 ,電腦有惡意軟體,或產生了惡意程式,建議清理垃圾,查殺惡意軟體,完成後重啟電腦。如果不行建議恢復系統。 2,電腦記憶體出現問題,可以拔出記憶體擦下,重新插回去試試。 16樓:出綠柳本燕 為了檢測是否屬於硬體故障建議先重做系統,一般重做系統都會解決這個小問題。 17樓:鐸夏須淑 系統出毛病,某個軟體出錯了。就這樣~!用360或者別的軟體進行修復,更新!~優化系統。搞好了,在重啟,才裝遊戲1.還不行,要還想玩遊戲,就重灌吧!~ 這種情況一般是系統的問題。你的系統是聯想標配的麼?如果是的話用一鍵恢復試試看。有的時候錯誤操作也能倒是軟體報錯 記憶體不能read 1.執行一次幹bai淨啟動 1 du首先建立乙個還原點zhi 2 dao按windows功能鍵 r鍵,開啟執行版對話方塊 權 3 輸入msconfig後點確定,啟動系統... 很高興回答你的問題,希望可以幫到你 記憶體指令不能read,這是在電腦使用中經常出現的問題,記憶體是主機板上的儲存部件,是cpu直接與之溝通,並用其存放當前正在使用的 即執行中 的資料和命令的重要部件。當你用鍵盤或滑鼠輸入某個命令後,cpu就會解釋命令並將指令或程式載入到記憶體中,這樣程式才能夠被執... 記憶體指令不能read或written,這是在電腦使用中經常出現的問題,記憶體是主機板上的儲存部件,是cpu直接與之溝通,並用其存放當前正在使用的 即執行中 的資料和命令的重要部件。當你用鍵盤或滑鼠輸入某個命令後,cpu就會解釋命令並將指令或程式載入到記憶體中,這樣程式才能夠被執行。而一旦記憶體發生...記憶體不能read,電腦記憶體不能read
玩遊戲時總是出現該記憶體不能為read?怎麼回事
該記憶體不能為read,該記憶體不能為read怎麼解決