gcc编译器犯病怎么回事?求大佬看看(已解决)
犯病前:
犯病后:
源码:
1 #include<stdio.h> 2 main(){ 3 // printf("欢迎使用电子通讯录\n"); 4 FILE*fp=fopen("naph.txt","r"); 5 char buf[11]; 6 int i,j,k,n,n2=0,n3=0,i2; 7 while(fgets(buf,1024,fp)){n++;} 8 // printf("%d\n",n); 9 char name[n][100],numb[n][100]; 10 rewind(fp); 11 while(fgets(buf,1024,fp)){ 12 for(i=0;buf[i]!=13;i++){ 13 if(buf[i]==58) 14 break; 15 printf(" %d:%c",buf[i],buf[i]); 16 // name[n2][i]=buf[i]; 17 } 18 k=i; 19 printf("\n"); 20 name[n2][i++]=0; 21 for(j=0;j<11;i++,j++){ 22 printf(" %d:%c",buf[i],buf[i]); 23 // printf("%d ",i-10); 24 // numb[n2][j]=buf[i]; 25 } 26 // numb[n2][j]=0; 27 // printf("%s\n",name[n2]); 28 // printf("%s\n",numb[n2]); 29 printf("\n"); 30 // n2++; 31 } 32 }
naph.txt:
XuWei辉1:18888888881 XuWei辉2:18888888882 XuWei辉3:18888888883 XuWei辉4:18888888884 XuWei辉5:18888888885 XuWei辉6:18888888886 XuWei辉7:18888888887 XuWei辉8:18888888888
问题原因:buf太小,估计是越界了
解决方法:
调大buf[]的大小
解决效果: