C 簡單程序錯誤,C 簡單程式錯誤

時間 2022-12-04 09:25:26

1樓:匿名使用者

棧溢位, 預設棧大小是1m(參考msdn「對於 x86 和 x64 計算機,預設堆疊大小為 1 mb。在 itanium 晶元組上,預設大小為 4 mb。」),你的陣列定義大了,你的4個2維陣列,每個都差不多3,4百kb, 4個就超過了1mb

將這裡的 float az[250][400],bu[220][400],cc[220][400],cr[220][400];

改小;或者 你確實需要這麼多資料的話,讓它們在堆上用new 分配

即可float** az = (float**)new float[250][400];

float** bu = (float**)new float[220][400];

float** cc = (float**)new float[220][400];

float** cr = (float**)new float[220][400];

vs2008 編譯鏈結執行通過

2樓:

定義的變數的size是有上線的,一般不能超過64kb(不同系統或者編譯器不一樣),你定義的太大了,改小點就好了

float az[250][400],bu[220][400],cc[220][400],cr[220][400];

3樓:匿名使用者

我執行怎麼就沒事

是不是軟體衝突

你用的是什麼c語言

4樓:匿名使用者

執行超出計算機計算範疇,記憶體溢位

c 簡單程式錯誤(ACM),跪求高手哥解答

while cin a a strlen a 5 輸入處理這樣寫不好,可以試一下getline函式另外,對於字串,當沒有內容的時候,一般使用memset函式對它進行處理,要不然在處理for q 0 p 時,q判結尾可能會出現錯誤。程式是一邊輸入一邊處理的,這樣感覺不是很好,程式的耦合太大了,雖然分開...

C 簡單程式的編寫,乙個C 簡單程式的編寫

程式編完了,執行除錯通過,你全部copy過去就可以了 include using namespace std void main cout 各位數和為 include void main cout 我的程式是最好的。我給你乙個思路 如果你覺得對你有點啟發你就採納下 想得到個位數 直接用1987 10...

最基本的C語言程式,C語言最簡單程式

看來你是乙個菜鳥啊,我也是拉,呵呵。double是雙精度的意思,比float後面小數點位數能夠多2倍。如果說你需要的數字不用達到小數點後面十多位的話就別用double了。分配位元組數比float位元組數多2倍 double 宣告雙精度變數或函式 話說那個double是乙個雙精度的浮點數型別。下面的p...

c語言簡單問題,C語言簡單問題

你的int calculate這個函式,如果你返回0,那你printf d n result 列印的一定是0啊。其次,你的calculate函式的printf裡面有5個 d,後面卻只跟著4個引數,你讓程式怎麼正常算出結果?最後,scanf裡不要加 n!任何轉義字元都不行!include define...

簡單的C語言問題,c語言簡單問題

首先你截圖的型別不是字元型char,而是字元指標型char 指標型別的變數pc儲存的是乙個字元的位址,而圖上 asdf 是乙個字串常量,在記憶體中是乙個長度為5的字串 最後有乙個隱藏的結束符號0 用pc asdf 就是把這個字串第乙個字元的位址給了pc變數。或者說指標pc指向了字串常量 asdf 所...