Suspicious pointer conversion - C (СИ)
Формулировка задачи:
подскажите пожалуйста, что сделать надо?
Решение задачи: «Suspicious pointer conversion»
textual
Листинг программы
#include <stdio.h> #include <db.h> #include <alloc.h> #include <tyvty.h> #include <les.h> #include <string.h> extern char galas; char file1[80]; char bigbuf[80]; extern FILE *fatid(); FILE *f1; char b3el[]="muk.gir.kv.mk.admir.pl"; FILE *fp3; char *k, *a3; struct ee { char muk[8]; char gir[2]; char kv[4]; char mk[6]; char admr[3]; char pl[5]; } e3; struct dat { char gir[2]; char kv[4]; char mk[6]; char admr[3]; long pl1; long kol; }e; char z33 []="norm=13000002"; char z44 []="21-4.40--31"; char *zxp2[4]; int pozg, bn3, m, i, i1,k0,kk1,kk0,kk2; long num(), plv[4],itl[2],itk[2],itll[2]; char p2[] [56]={ "---------------------------------------", "nom.kv:kat.za:adm:les:rel:fun:plo:kol:", "---------------------------------------", "\0"}; char p6[]="10450052"; char p3[134]; char p5[130]; char hles[4],girr[2],mkr[6],adr[3],nkvr[4]; main() { cpystr(file1,argkat (2,"99")); strcat(file1,"\\wrp.rub"); copy(e3.gir,"00",2); copy(e.kv,"0000",4); copy(e.mk,"000000",6); copy(e.admr,"000",3); e.kol=0; e.pl1=0; cpystr(b4, argkat(2,"4")); bn3=dbopen("3","&",b3el); m=0; pb3:while ((pozg=getrec(bn3,&e3)) > 0) { if (m==0) { tek2(bkon("3"),0,bn3); f1 = fatid(file1,"wb"); zxxx(b4,zxp2,z33,z44); copy(hles,e3.muk+6,2); copy(girr,"00",2); copy(mkr,"000000",6); copy(nkvr,"0000",4); copy(adr,"000",3); m=1; for(i=0;i<2;i++) { itk[i]=0; itl[i]=0; itll[i]=0; } spa(1,p2,p3,0,0,0); } k0=0; copy(e.gir,e3.gir,2); copy(e.kv,e3.kv,4); copy(e.mk,e3.mk,6); copy(e.admr,e3.admr,3); e.pl1=num(e3.pl,5); e.kol+=1; fpat(&e,sizeof(struct dat),f1); goto pb3; } fclose(f1); sprintf(bigbuf,"xsort %s 320015",file1); system(bigbuf); f1=fatid(file1,"rb"); kk1=0; i=0; mm:while(fgat(&e,sizeof(struct dat),f1)>0) { if(strncmp(e.gir,girr,2)!=0) { if(kk1!=0) { pech(); cpystr(p3+10,"itogo"); spa(0,0,p3,0,0,0); k=p5; k+=sprintf(k,"%1d&%1d&&",itl[0],itl[1]); spa(0,0,p3,0,p5,p6); for(i=0;i<2;i++) { itll[i]+=itl[i]; itl[i]=0; } } copy(girr,e.gir,2); cpystr(p3+5,"uchastkovoe:"); copy(hles+2,e.gir,2); for(a3=zxp2[0];a3<zxp2[1];a3+=36) if(strncmp(a3,hles,4)==0) copy(p3+28,a3+4,32); spa(0,0,p3,0,0,0); kk1=1; copy(nkvr,"0000",4); } mm1: if(strncmp(e.kv,nkvr,4)==0 && strncmp(e.mk,mkr,6)==0 && strncmp(e.admr,adr,3)==0) { itl[0]+=e.pl1; itl[1]+=1; itk[0]+=e.pl1; itk[1]+=1; kk2=1; goto mm; } if(itk[0]!=0) pech(); copy(nkvr,e.kv,4); copy(mkr,e.mk,6); copy(adr,e.admr,3); goto mm1; } pech(); cpystr(p3+10,"itogo po uch"); spa(0,0,p3,0,0,0); k=p5; k+=sprintf(k,"%1d&%1d&&",itll[0],itll[1]); spa(0,0,p3,0,p5,p6); spa(3,0,0,0,0,0); fprintf(stderr,"\nvvv konec"); } pech() { copyg(p3+1,nkvr,4); copy(p3+8,mkr,6); copy(p3+16,adr,3); k=p5; sprintf(p5,"%1d&%1d&&",itk[0],itk[1]); spa(0,0,p3,0,p5,p6); itk[0]=0; itk[1]=0; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д