用c语言些程序,运行没有错误,也不提警告,但是出现“Access violation reading location 0x00000010.” C语言编程中为什么明明没有语法错误也没有逻辑错误的,运行过程...

c\u8bed\u8a00\u7a0b\u5e8f\u4e0d\u80fd\u8fd0\u884c\u554a\uff0c\u6ca1\u6709\u9519\u8bef\uff0c\u53ea\u6709\u51e0\u4e2a\u8b66\u544a

\u662f\u63d0\u793a\u4f60\u8fd9\u4e9b\u51fd\u6570\u6ca1\u6709\u5b9e\u73b0\uff0c\u53ea\u5199\u4e86\u58f0\u660e\uff0c\u4f46\u5e76\u672a\u5b9e\u73b0\uff0c\u800c\u4e14\u4f60\u8c03\u7528\u4e86\u8fd9\u4e9b\u51fd\u6570\u3002\u4f60\u53ef\u4ee5\u6ce8\u91ca\u6389\u8c03\u7528\u8fd9\u4e9b\u51fd\u6570\u7684\u5730\u65b9\uff0c\u7136\u540e\u8fd0\u884c\u4e00\u6b21\u3002\u5c31\u4e0d\u4f1a\u6709\u8b66\u544a\u4e86\u3002

\u4ed6\u662f\u8bf4\u7a0b\u5e8f\u8fd0\u884c\u8fc7\u7a0b\u4e2d\u51fa\u73b0\u7684\u9519\u8bef\u8b66\u544a\uff0c\u4e0d\u662f\u7f16\u8bd1\u65f6\u7684\u8bed\u6cd5\u8b66\u544a\u3002\u539f\u56e0\u4e5f\u6709\u5f88\u591a\uff0c\u6bd4\u5982\u5185\u5b58\u8d85\u51fa\u8303\u56f4\uff0c\u6307\u9488\u6307\u5411\u4e86\u4e0d\u660e\u5730\u5740\u6216\u8005\u9519\u8bef\u5730\u5740\uff0c\u6bd4\u5982\u4f60\u7684\u4ee3\u7801\u91cc\u9762\u58f0\u660e\u4e86\u4e00\u4e2aunsigned char *ch\u7684\u6307\u9488\uff0c\u800c\u5f15\u7528\u7684\u65f6\u5019\u4f7f\u7528ch[10]=0x00;\u6b64\u65f6\u8fd0\u884c\u7684\u7ed3\u679c\u4e0d\u4e00\u5b9a\u662f\u4f60\u9884\u60f3\u7684\u7ed3\u679c\uff0c\u6539\u8fdb\u65b9\u6cd5\u662f\u5c06\u58f0\u660e\u6539\u6210unsigned char ch[11];

#include<stdio.h>
#include<conio.h>
#include"user.h"
int Creat();
extern struct user *U;
int Init()
{
FILE *fp=fopen("user","rb");
if(fp==NULL)//打开失败,做失败处理
{
printf("文件不存在,请创建文件\n");
Creat(); //Creat这个函数有个整形返回值,请楼主在这里做下判断,然后对不同的返回值做不同的处理
fprintf(stderr, "打开文件失败!\n");
return 1;
}
else
{
while(U->next!=NULL)//断点黄色箭头指向这里
{
int nRead = fread(U,sizeof(struct user),1,fp);//这里需要对fread的返回值做判断
U=U->next;
}
printf("系统初始化成功,正在进入系统!请稍等......\n");
fclose(fp);
return 0;
}
}

如果文件不存在,您用Creat();创建它,此后应再次fopen,否则后面fread中的fp仍然是NULL

文件打开错误,地址写错了

U = (struct user*)malloc(sizeof(struct user));
加到Init()函数结尾处

哪报错的?

  • C璇█涓,绋嬪簭缂栧ソ涔嬪悗鍙杩愯,浣嗘槸绋嬪簭涓嬫柟娌℃湁鎶ラ敊浣嗘槸鏈夎鍛,0error...
    绛旓細error浼氬鑷存棤娉曢氳繃缂栬瘧锛岀▼搴鏃犳硶杩愯 warming鍙互缂栬瘧骞朵笖杩愯锛warming鍑虹幇鐨勫師鍥犲彲鑳芥槸寮哄埗绫诲瀷杞崲鏃舵暟鎹涪澶辩瓑 涓句釜渚嬪瓙 char c;int a;c=a;杩欐椂浼氭湁璀﹀憡锛屽洜涓烘暣鍨嬫瘮瀛楃鍨嬪ぇ锛屽湪浠庢暣鍨嬭祴缁欏瓧绗﹀瀷鐨勬椂鍊欓珮浣嶆暟鎹彲鑳戒細涓㈠け锛屼絾鏄綘闈炶杩欎箞鍋氫篃鏃犳墍璋撱傛墍浠ョ紪璇戝櫒浼氭彁鍑鸿鍛婏紝浣嗕笉璁や负鏄閿欒銆
  • c璇█涓,绋嬪簭娌℃湁閿欒浣嗘槸杩愯鍚庡嵈涓嶆樉绀
    绛旓細浠g爜涓嶆槸浣犲啓鐨勫惂锛熷洜涓轰唬鐮娌℃湁闂锛屽彧鏄緭鍏ユ椂瑕佸厛杈撳叆涓暟n锛屽啀杈撳叆n涓暟锛屾渶鍚庤緭鍏ヤ竴涓鎵剧殑鏁扳斺旇繖浠g爜娌℃湁杈撳叆閿欒鎻愮ず锛屾墍浠ヨ緭鍏ラ敊浜嗗氨娌℃湁杈撳嚭锛岀瓑寰呬笅涓娆¤緭鍏ャ傝屼笖锛屼唬鐮佹槸澶氱粍寰幆锛岃嫢瑕侀鍑猴紝寰楄緭鍏ヤ袱娆trl+z閿紝鍚﹀垯鍟ヤ篃涓嶆樉绀虹瓑寰呬笅涓杞緭鍏ャ傛瘮濡備綘杈撳叆4鈫(鈫欒〃绀哄洖杞)锛屽啀...
  • 鐢╒C++鍐欑殑C璇█绋嬪簭 妫鏌娌℃湁閿欒 涔熸病鏈夎緭鍏ヨ鍙 杩愯鍚庨粦妗嗕笉...
    绛旓細杩欐槸鍛戒护鎺у埗鍙扮獥鍙o紝浣犺皟鐢ㄤ簡鑷劧瑕佹樉绀虹殑銆傝嫢涓嶆兂鏄剧ず鐨勮瘽锛屽簲璇ュ缓涓涓狢ONSOLE APPLICATION鑰屼笉鏄疉PPLICATION锛岀劧鍚庡皢鈥渰$APPTYPE CONSOLE}鈥濆垹鎺夊氨鍙互浜嗭紝鏈夆渰$APPTYPE CONSOLE}鈥濆氨浼氬嚭鐜颁笂闈㈢殑绐楀彛锛屽鏋娌℃湁锛鍒欒繖涓帶鍒跺彴dos绐楀彛涓嶅嚭鐜颁簡銆
  • 鐢– 璇█缂栧啓鐨勬簮鏂囦欢缁忚繃缂栬瘧,鑻娌℃湁浜х敓缂栬瘧閿欒,鍒欑郴缁熷皢( )銆
    绛旓細浠g爜浼樺寲锛涚洰鏍囦唬鐮佺敓鎴愩傚湪璇硶鍒嗘瀽杩囩▼涓彂鐜版湁璇硶閿欒锛缁欏嚭鎻愮ず淇℃伅锛娌℃湁閿欒鍒欑敓鎴愮洰鏍囨枃浠躲侰璇█閫氳繃姹囩紪鎶婃眹缂栬瑷浠g爜缈昏瘧鎴愮洰鏍囨満鍣ㄦ寚浠ゃ傚浜庤缈昏瘧绯荤粺澶勭悊鐨勬瘡涓涓C璇█婧愮▼搴忥紝閮藉皢鏈缁堢粡杩囪繖涓澶勭悊鑰屽緱鍒扮浉搴旂殑鐩爣鏂囦欢銆傜洰鏍囨枃浠朵腑鎵瀛樻斁鐨勪篃灏辨槸涓庢簮绋嬪簭绛夋晥鐨勭洰鏍囩殑鏈哄櫒璇█浠g爜銆
  • KEIL uVISION3 杩愯绋嬪簭鍚,鏄剧ず娌℃湁閿欒,鏈6涓鍛娿傛庝箞鍥炰簨?鎬庝箞鍔炲晩...
    绛旓細杩欎簺璀﹀憡鐨勬剰鎬濇槸浣犳湁鍑犱釜鍑芥暟琚富绋嬪簭鍜屼腑鏂▼搴忓悓鏃惰皟鐢ㄤ簡銆備篃灏辨槸璇翠富绋嬪簭涓煇涓嚱鏁癆璺戝埌涓鍗婄殑鏃跺欙紝鏉ヤ簡涓柇锛岀粨鏋滀腑鏂腑鍙堣皟鐢ㄤ簡鍚屾牱鐨勫嚱鏁癆锛屽鏋滆繖涓嚱鏁颁笉鏄噸鍏ュ嚱鏁帮紝灏辨湁鍙兘寮曡捣涓嶅彲棰勭煡鐨閿欒锛铏界劧浠庤娉曡搴﹁繖鏍峰啓娌′粈涔堥棶棰樸
  • c璇█缂栫▼,娌℃湁鎻愮ず閿欒,鍙槸涓杩愯,涓嶇瓑閿洏杈撳叆,鐩存帴灏辨墽琛屽畬浜嗐
    绛旓細璋冭瘯缁撴灉锛屽彲浠ヨ緭鍏ユ暟鎹紝涓嶅瓨鍦ㄤ綘璇寸殑闂 杩欐牱鏀瑰惂锛歷oid main(){ begin:char ch;printf("璇疯緭鍏ヤ竴涓ぇ鍐欏瓧姣嶏細 \n");ch=getchar();//scanf ("%c",&ch);if(64<ch&&ch<91)//鍘绘帀鍗曞紩鍙 { ch=ch+32;printf("%C\n", ch);//杈撳叆ch缁撴灉 } else { printf("杈撳叆閿欒锛");goto ...
  • 涓涓畝鍗曠殑c璇█绋嬪簭鎰熻娌℃湁閿涓轰綍杩愯涓嶅嚭鏉?
    绛旓細鏄湪windows涓杩愯鐨勫惂锛熷湪鏂囦欢澶村姞锛歩nclude<conio.h> 鍦ㄦ渶鍚庣殑杩斿洖璇彞return 0;鍓嶅姞锛歡etche();鍗冲彲銆備綘鐨绋嬪簭娌℃湁閿欙紝浣嗘病鏈夋帶鍒跺湪dos绐楀彛涓嬪仠鐣欑殑鍛戒护锛屾墍浠ヨ繍琛屽畬鎴愬悗锛屽嵆鑷鍏抽棴锛屼竴闂岃繃...
  • C璇█绋嬪簭缂栬瘧娌℃湁閿欒,浣嗘槸娌℃湁缁撴灉,涓轰粈涔堝晩
    绛旓細鏈夌粨鏋滃憖锛屾垜鐢ㄧ殑VS2012锛屽鍥撅紝LZ鏄笉浼氱敤缂栬瘧鍣ㄥ惂锛岀▼搴璋冭瘯鏃犺鐨勮瘽缁撴灉浼氶棯涓涓嬶紝鐐规墽琛屽氨鑳戒繚鎸佷綇dos绐楀彛浜
  • 鐧鹃浮闂c璇█绋嬪簭娌℃湁閿欒鍙槸杩愯涓嶅嚭鏉ョ粨鏋
    绛旓細浣犵殑浠g爜鏈変互涓嬪嚑澶勯敊璇細1銆佸垎鍙烽棶棰橈細鍦╳hile鎷彿鍚庨潰鏈夊垎鍙 琛ㄧずwhile鐨勮鍙ユ槸绌鸿鍙ワ紝涔熷氨鏄痗ocks鍜宧ens鏃犳硶鍔狅紝閭d箞浼氫竴鐩村惊鐜棤娉曠粨鏉熴傛墍浠ュ皢涓や釜while鍚庨潰鐨勫垎鍙峰幓鎺夛紱2銆佸垽鏂棶棰 鏉′欢5*cocks+3*hens+chicks/3鏄娌℃湁闂鐨勶紝浣嗘槸chicks/3鏄暣鏁伴櫎娉曪紝濡5/2=2锛屼細鏈夐敊锛寤鸿鏀规垚chicks*1.0...
  • 涓轰粈涔堣繖涓c璇█绋嬪簭鏈夋椂鍊杩愯鏄纭殑,鏈夋椂鏄閿欒鐨?
    绛旓細涓鑸琭open鏃惰鍒ゆ柇涓嬶細if((fp = fopen("1000.txt","r")) == NULL){ printf("error open file!\n");exit(0);} 濂藉儚娌′粈涔堥棶棰樹簡銆傚啀灏辨槸妤间富缂栫▼椋庢牸澶儌浜嗐傚缓璁笂缃戞壘涓嬨婇珮璐ㄩ噺c++銆c 缂栫▼鎸囧崡銆嬬湅鐪嬨
  • 扩展阅读:怎么检查c语言错误 ... c程序正确却无法运行 ... c语言编译不弹出黑框 ... c语言程序错误怎么找 ... 程序编译错误有两种 ... c语言运行后不出结果 ... 游戏缺少c++运行库 ... 代码一直运行不出结果 ... c语言没错但是运行不了 ...

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