为什么我用C语言编写的程序编译成功没有出错却无法运行呢?求高手指点! 为什么C语言编写的程序运行时闪一下就没了?

\u8bf7\u95ee\uff0c\u4e3a\u4ec0\u4e48\u6211\u5728\u7f16\u5199C\u8bed\u8a00\u7a0b\u5e8f\u7684\u65f6\u5019\uff0c\u7f16\u8bd1\u7684\u65f6\u5019\u6ca1\u6709\u4efb\u4f55\u9519\u8bef\uff0c\u7136\u800c\u5728\u8fd0\u884c2-3\u7684\u65f6\u5019\uff0c\u51fa\u73b0\u4e86\u5982\u4e0b\u7684\u9519\u8bef

\u5b83\u8bf4\u6267\u884c\u65f6\uff0c\u627e\u4e0d\u5230\u8fd9\u6837\u7684\u6587\u4ef6\u6216\u6587\u4ef6\u5939\u3002
\u7f16\u8bd1\u65f6\uff0c\u4f60\u53ea\u8981\u7ed9\u4e86\u8def\u5f84\u548c\u6587\u4ef6\u540d\uff0c\u4e0d\u7ba1\u6587\u4ef6\u5728\u4e0d\u5728\uff0c\u7f16\u8bd1\u5c31\u80fd\u901a\u8fc7\u3002
\u6267\u884c\u65f6\uff0c\u8981\u53bb\u627e\u6587\u4ef6\uff0c\u6253\u5f00\u6587\u4ef6\uff0c\u6587\u4ef6\u4e0d\u5728\uff0c\u6ca1\u6cd5\u6253\u5f00\uff0c\u5c31\u558a\u9519\u4e86\u3002

'F:\ \u3002\u3002\u3002' --- \u8981\u7528\u53cc\u5f15\u53f7\uff0c\u53cd\u659c\u6760\uff0c\u7528 \\
"F:\\SoftwareEngineer\\C language\\C ......."

C\u8bed\u8a00\u7f16\u5199\u7684\u7a0b\u5e8f\u8fd0\u884c\u65f6\u95ea\u4e00\u4e0b\u5c31\u6ca1\u4e86\u662f\u8bbe\u7f6e\u9519\u8bef\u9020\u6210\u7684\uff0c\u89e3\u51b3\u65b9\u6cd5\u4e3a\uff1a
1\u3001\u6211\u4eec\u4ee5\u6700\u7ecf\u5178\u7684HELLO WORLD\u7a0b\u5e8f\u4e3a\u4f8b\u3002

2\u3001\u5f53\u6211\u4eec\u5199\u5b8c\u8fd9\u4e2a\u7a0b\u5e8f \u7f16\u8bd1\u5b8c\u6210\u540e\u5355\u51fb\u5de6\u4e0a\u89d2\u7684\u53f9\u53f7\u8fd0\u884c \u53ef\u4ee5\u770b\u5230\u4e00\u5207\u6b63\u5e38 \u6309\u4e0b\u4efb\u610f\u6309\u952e\u540e\u7a97\u53e3\u624d\u4f1a\u6d88\u5931\u3002

3\u3001\u4f46\u662f\u6211\u4eec\u53bb\u751f\u6210\u7684\u76ee\u5f55\u4e0b\u9762\u627e\u5230\u8fd9\u4e2aEXE\u6587\u4ef6\u3002

4\u3001\u53cc\u51fb\u8fd0\u884c\u5374\u53d1\u73b0\u6709\u4e2a\u7a97\u53e3\u4e00\u95ea\u800c\u8fc7\u3002\u3002\u7136\u540e\u5c31\u4ec0\u4e48\u4e5f\u6ca1\u6709\u4e86 \u8fd9\u65f6\u5019\u6211\u4eec\u6709\u5fc5\u8981\u5728\u7a0b\u5e8f\u4e2d\u6dfb\u52a0\u4e00\u4e9b\u4ee3\u7801 \u9632\u6b62\u7a0b\u5e8f\u88ab\u5173\u95ed\u5148\u5728\u7a0b\u5e8f\u5f00\u5934\u5305\u62ecwindows.h\u8fd9\u4e2a\u5934\u6587\u4ef6\u3002

5\u3001\u63a5\u7740\u5728\u4e3b\u51fd\u6570\u672b\u5c3e\u7684\u5730\u65b9\u5199\u4e00\u884csystem(\u201cpause\u201d);\u3002

6\u3001\u91cd\u65b0\u7f16\u8bd1\u4e4b\u540e\u6211\u4eec\u518d\u6b21\u6253\u5f00\u5bf9\u5e94\u76ee\u5f55\u4e0b\u7684EXE\u6587\u4ef6\uff0c\u8fd9\u6b21\u7a0b\u5e8f\u8fd0\u884c\u5b8c\u4e4b\u540e\u6ca1\u6709\u76f4\u63a5\u5173\u95ed\u6389\u800c\u662f\u505c\u7559\u5728\u8fd9\u91cc\u4e86\uff0c\u95ea\u9000\u95ee\u9898\u6210\u529f\u89e3\u51b3\u3002

如果你的循环中的i值变化范围没有问题,则修改你的数组定义为:
double err[502],B,W[502],W2[502],j,beta[501];
你的原始定义都少了一个数组元素,会导致下标越界,进而引发运行时错误。

double W2[501]
数组的下标从0到500
最后一个循环
for(i=0;i<501;i++)
{
beta[i]=(W2[i]-W2[i+1])/0.01;
}
当i==500时,访问了W2[501],下标越界
err[]在前面的循环里也有越界情况

C编译器,编译时只检查是否存在语法错误,运行时才发现访问越界。
当然还有些编译器,运行时都不会发现错误,直接访问残值,就更危险了。

  • 缂栧啓C璇█绋嬪簭,鎴戠敤浜唖qrt(),缂栬瘧鐨勬椂鍊欏嵈鏄剧ず濡傚浘鎵绀,璇烽棶鎬庝箞鍥炰簨...
    绛旓細棣栧厛 浣犳病鏈夊寘鍚玬ath.h澶存枃浠 锛屾墍浠ユ樉绀 sqrt鏈畾涔夛紝绗簩锛宑ollect2鐨勬剰鎬濇槸锛屾帶鍒跺彴杩樻湁璇绋嬪簭鐨勬畫鐣欒繘绋嬨
  • 鎬庝箞鐢╟璇█,涓轰粈涔堟垜鐓х潃涔缂栧啓瀹绋嬪簭鍚,鎸塅9,鏄剧ず鎴愬姛,浣嗘槸涓嶅嚭缁撴灉...
    绛旓細//绋嬪簭鏈変袱涓敊璇紝涓嬮潰鏄纭殑锛屼綘鍐嶈瘯璇曘//鑻缂栬瘧鍣ㄦ槸VC++锛屾寜Ctrl+F5杩愯銆俰nclude<stdio.h> void main() //杩欏効灏戜竴琛岋紒{ int i=97;char ch='a';putchar(i);putchar('\n');putchar(ch); //鍒嗗彿鍓嶅浜)!}
  • 鐢–璇█缂栧啓鐨勬簮绋嬪簭蹇呴』缁忚繃缂栬瘧杩炴帴鍚,鐢熸垚鎵╁睍鍚嶄负.EXE鐨勫彲鎵ц鏂 ...
    绛旓細鍝ヤ滑锛岃繖涔堢悊瑙f槸瀵圭殑锛屼笉杩囨劅瑙夋湁鐐硅〃闈傚缓璁湅鐪嬭绠楁満涓浜涘師鐞嗭紝鍍忎綘璇寸殑杩欎釜闂鎴戜細鎯冲埌锛岃绠楁満鏈缁堝彧鑳借瘑鍒簩杩涘埗鐮侊紝鎵浠ュ叾瀹炰笉绠℃垜浠竴鍒囧暐璇█锛屾渶缁堥兘鏄氳繃缂栬瘧鍣ㄧ紪璇戞垚浜岃繘鍒剁爜锛岃绠楁満鎵嶈兘璇嗗埆 鑰屽幓杩愯锛岃C璇█缂栧啓鐨勭▼搴锛岃偗瀹氭槸瑕佺粡杩囦竴绯诲垪鐨勭紪璇戯紝閾炬帴锛岀敓鎴愬彲鎵ц鐨勬枃浠躲傚湪windows绯荤粺...
  • c缂栬瘧绋嬪簭鏄浠涔?
    绛旓細c缂栬瘧绋嬪簭鏄皢c璇█绋嬪簭缂栬瘧鎴愮洰鏍囦唬鐮佺▼搴鐨勭▼搴锛屽嵆姝g‘绛旀搴旇閫夋嫨D銆1銆乧璇█鏄洰鍓嶄笘鐣屼笂鏈娴佽銆佷娇鐢ㄦ渶骞挎硾鐨勯潰鍚戣繃绋嬬殑楂樼骇绋嬪簭璁捐璇█銆 c璇█瀵规搷浣滅郴缁熷拰绯荤粺浣跨敤绋嬪簭浠ュ強闇瑕佸纭欢杩涜鎿嶄綔鐨勫満鍚堬紝鐢╟璇█鏄庢樉浼樹簬鍏跺畠楂樼骇璇█锛岃澶氬ぇ鍨嬪簲鐢ㄨ蒋浠堕兘鏄鐢╟璇█缂栧啓鐨銆2銆佺紪璇戝氨鏄鍒╃敤缂栬瘧绋嬪簭...
  • 鐢缂栬瘧绋嬪簭鍙皢c璇█婧愮▼搴鍙涓轰粈涔堢▼搴?
    绛旓細2. 婧愮▼搴锛屽嵆婧愪唬鐮侊紝鏄寚鎸夌収鐗瑰畾缂栫▼璇█瑙勮寖缂栧啓鐨鏈缂栬瘧鐨勬枃鏈枃浠讹紝瀹冨寘鍚簡浜虹被鍙鐨勮绠楁満鎸囦护銆3. 鍙墽琛岀▼搴忥紝涔熺О涓哄彲鎵ц鏂囦欢锛圗XE鏂囦欢锛夛紝鏄彲浠ュ湪鎿嶄綔绯荤粺鐨勫瓨鍌ㄧ┖闂翠腑瀹氫綅骞舵墽琛岀殑浜岃繘鍒舵枃浠躲4. 渚嬪锛屽湪浣跨敤C璇█缂栧啓绋嬪簭鏃讹紝鎴戜滑缂栧啓鐨勬簮浠g爜鏂囦欢閫氬父鍏锋湁.c鐨勬墿灞曞悕锛岃繖涓枃浠跺氨鏄...
  • 涓轰粈涔 绋嬪簭 缂栬瘧閫氳繃 涔熸槸姝g‘鐨 浣嗘槸杩愯鐨勭粨鏋滃嵈涓嶆槸姝g‘鐨 鎴戠敤...
    绛旓細娌¤娉曢敊璇紝鏈夐昏緫閿欒锛岀壒鍒槸鎸囬拡瀹规槗鐢ㄩ敊銆
  • 涓轰粈涔坈璇█鐨勭紪璇鍣ㄥ彲浠鐢╟璇█鏉鍐?
    绛旓細鎵璋C璇█缂栬瘧鍣紝灏辨槸鎶缂栫▼寰楀埌鐨勬枃浠讹紝姣斿.c,.h鐨勬枃浠讹紝杩涜璇诲彇锛屽苟瀵瑰唴瀹硅繘琛屽垎鏋愶紝鎸夌収C璇█鐨勮鍒欙紝灏嗗叾杞崲鎴愮郴缁熷彲浠ユ墽琛岀殑浜岃繘鍒舵枃浠躲傚叾鏈川鍦ㄤ簬瀵规枃浠剁殑璇诲叆锛屽垎鏋愶紝鍙婂鐞嗐傝繖浜涙搷浣滐紝C璇█閮芥槸鍙互瀹炵幇鐨勩傛墍浠鐢–璇█鏉ュ仛C璇█鐨勭紪璇鍣ㄦ槸瀹屽叏鍙鐨勩備絾鏄紝鍘嗗彶涓婄殑绗竴涓狢璇█缂栬瘧鍣...
  • c璇█涓缂栬瘧鐨勮繃绋嬫槸鎬庢牱鐨?
    绛旓細鎴戜篃鍘荤瓟棰樿闂釜浜洪〉 鍏虫敞 灞曞紑鍏ㄩ儴 C璇█缂栬瘧杩囩▼璇﹁ВC璇█鐨勭紪璇閾炬帴杩囩▼鏄鎶婃垜浠缂栧啓鐨涓涓C绋嬪簭(婧愪唬鐮)杞崲鎴愬彲浠ュ湪纭欢涓婅繍琛鐨勭▼搴(鍙墽琛屼唬鐮),闇瑕佽繘琛岀紪璇戝拰閾炬帴銆傜紪璇戝氨鏄妸鏂囨湰褰㈠紡婧愪唬鐮佺炕璇戜负鏈哄櫒璇█褰㈠紡鐨勭洰鏍囨枃浠剁殑杩囩▼銆傞摼鎺ユ槸鎶婄洰鏍囨枃浠躲佹搷浣滅郴缁熺殑鍚姩浠g爜鍜岀敤鍒扮殑搴撴枃浠惰繘琛岀粍缁囧舰鎴愭渶缁堢敓...
  • 鐢–璇█缂栧啓鐨勭▼搴闇瑕佺敤浠涔绋嬪簭缈昏瘧鍚庤绠楁満鎵嶈兘璇嗗埆
    绛旓細鐢–璇█缂栧啓鐨勭▼搴闇瑕佺敤缂栬瘧绋嬪簭缈昏瘧鍚庤绠楁満鎵嶈兘璇嗗埆銆侰璇█鏄竴闂ㄩ潰鍚戣繃绋嬬殑銆佹娊璞″寲鐨勯氱敤绋嬪簭璁捐璇█锛屽箍娉涘簲鐢ㄤ簬搴曞眰寮鍙戙侰璇█鑳戒互绠鏄撶殑鏂瑰紡缂栬瘧銆佸鐞嗕綆绾у瓨鍌ㄥ櫒銆侰璇█鏄粎浜х敓灏戦噺鐨勬満鍣ㄨ瑷浠ュ強涓嶉渶瑕佷换浣曡繍琛岀幆澧冩敮鎸佷究鑳借繍琛岀殑楂樻晥鐜囩▼搴忚璁¤瑷銆傚敖绠璇█鎻愪緵浜嗚澶氫綆绾у鐞嗙殑鍔熻兘锛屼絾浠嶇劧...
  • 涓轰粈涔圕璇█缂栧啓鐨勭▼搴鍦ㄤ竴浜涙満瀛愪笂杩愯寰楄捣,鍦ㄥ彟涓浜涙満瀛愪笂鍗磋繍琛屼笉...
    绛旓細鐪嬮敊璇紝浣犲簲璇ョ敤鐨勬槸VC鍚с傝繖涓棶棰樺緢澶氭儏鍐典笅鏄敱浜庤矾寰勮缃殑闂寮曡捣鐨勶紝棣栧厛锛屼綘鍏堟壘鍒癈L.exe杩欎釜鏂囦欢锛"CL.exe"鏄疺C浣跨敤鐪熸鐨勭紪璇鍣紙缂栬瘧绋嬪簭锛夛紝鍏惰矾寰勫湪鈥淰C鏍圭洰褰昞VC98\Bin鈥濅笅闈紝浣犲彲浠ュ埌鐩稿簲鐨勮矾寰勪笅鎵惧埌杩欎釜搴旂敤绋嬪簭銆傚叾娆★紝鏀瑰ソ涓烘纭殑璺緞銆傚彲浠ユ寜鐓т互涓嬫柟娉曡В鍐筹細鐐瑰嚮VC鈥淭OOLS锛...
  • 扩展阅读:学编程一年大概多少钱 ... c语言必背100代码 ... c十十编程要学多久 ... c++入门程序代码 ... 初学编程必背50个 ... c++编程跳动爱心代码 ... 吓人的编程代码 ... 大一c语言必背编程题 ... cnc编程必背50个程序 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网