程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
搜索
設為首頁
加入收藏
首頁
編程語言
C語言
|
JAVA編程
Python編程
網頁編程
ASP編程
|
PHP編程
JSP編程
數據庫知識
MYSQL數據庫
|
SqlServer數據庫
Oracle數據庫
|
DB2數據庫
程式師世界
>>
編程語言
>>
C語言
>>
C
>>
C語言問答
>> c語言編程,編譯成功,但是調試失敗~!!怎麼回事。。求助~~
c語言編程,編譯成功,但是調試失敗~!!怎麼回事。。求助~~
編輯:C語言問答
c語言編程,編譯成功,但是調試失敗~!!怎麼回事。。求助~~
#include
#include
#include
main()
{
float x[60000][15];
char name1,name2,c;
char DEPTH,AC,RT,RI,RXO,SP,CALI,GR,CNL,DEN;
float sdep,edlp,relv;
FILE *fp1,*fp2;
printf("enter,sdep,edlp,relv=");
scanf("%f%f%f",&sdep,&edlp,&relv);
if ((fp1=fopen("d:4.txt","w"))==NULL)
{
printf("Cannot open file\n");
exit(0);
}
if ((fp2=fopen("d:4.txt","w"))==NULL)
{
printf("Cannot open file,press any key to exit!\n");
exit(0);
}
float n;
int m=9,i,j;
n=(edlp-sdep)/relv+1;
m=9;
/* read data from input file*/
fscanf(fp2,"%c%c%c%c%c%c%c%c%c",&DEPTH,&AC,&RT,&RI,&RXO,&SP,&CALI,&GR,&CNL,&DEN);
for(i=0;i
for(j=0;j
fscanf(fp1,"%f",&x[i][j]);
fclose(fp1);
/* display data*/
for(i=0;i
for(j=0;j
printf("%f",x[i][j]);
}
最佳回答:
樓主你好!
你是不是發現編譯沒有報錯!但是一旦運行就會進入異常而中斷報錯!
我通過調試發現是棧溢出而造成的異常中斷!
這個問題還得從你的 float x[60000][15] 說起。且不算後面定義的變量,通過計算我們知道大概將近3.6M左右!
這個設計到程序的堆棧問題!不知道你是否了解程序的反匯編,簡單的說,每個程序都有自己的棧,你定義的局部變量就在這個棧上!而這個棧不是無限的大的,在Windows下,棧是向低地址擴展的數據結構,是一塊連續的內存的區域。這句話的意思是棧頂的地址和棧的最大容量是系統預先規定好的,在WINDOWS下,棧的大小是2M,如果申請的空間超過棧的剩余空間時,將提示overflow!具體可以去了解一下程序的反匯編!
因此,你代碼本身沒有錯誤,但是運行不起來是棧溢出了!
如果,你還是想要分配60000個15個成員float類型的數值,那你就得使用malloc來申請空間,malloc申請的空間是在堆上的,malloc函數你自己可以去了解,這個跟棧是不一樣的,有興趣可以去了解堆和棧的區別!
以上是我的看法,希望我的回答對你有幫助!
上一頁:
如何學好C語言!
下一頁:
有學c語言的嗎?
C語言問答
C語言初學,求教,哪裡出問題了?
C語言初學,求教,哪裡出問題了?
c語言菜鳥請教一個問題。
c語言菜鳥請教一個問題。
C語言 SCANF 求解
C語言 SCANF 求解 #quest
C語言考試題
C語言考試題 10
c語言程序編譯問題
c語言程序編譯問題 #question
C語言的三題
C語言的三題 #questionCon
相關文章
c語言問題-將一個數組中的值按逆序重新存放
c語言-求大神詳解:為什麼這題我的程序不能輸出正確結果?
C語言函數返回值解析
C語言文件操作
C語言實現貪吃蛇
【讀書筆記】C#高級編程 第十二章 動態語言擴展,
初學Delphi嵌入匯編[2] - 匯編語言關鍵字
Java語言基礎方法重載概述和基本使用
使用 Visual Basic 腳本語言集成 Rational Team Concert
Groovy探索之對Java語言反射的簡化
閱讀排行榜
c語言讀圖
C語言中變量的地址是什麼類型的
C語言考試題
c語言具體是什麼?求解!
幫我寫個C語言程序呗
急求解C語言編程習題(使用turboc)
自學C語言買什麼書比較好?
c語言程序改錯
C語言的最好運行環境是什麼?
MCU 用C語言如何實現匯編的 ORG 0200H 功能
C語言使用指針連接兩個字符串,這個錯哪了?
熱門圖文
Queries with local collections are not supported
[3]輸入一顆二叉樹判斷是不是平衡二叉樹
C# 通過Emgu CV 人臉檢測,
C語言學習教程第二章-數據類型、運算符、表達式(六)
初品cakephp 入門基礎
封裝自己的DB類(PHP),封裝db類php
單片機: 熱敏電阻測溫並且顯示到數碼管(溫度計)
VS 2008 sp1 + .NET 3.5 sp1(3)
欄目導航
C語言基礎知識
C語言入門知識
關於C
C練習實例
C語言問答
Copyright ©
程式師世界
All Rights Reserved