C master Come ~ only two the same error. Help modify. Briefly give reasons.
Users questions:#include stdio.h #include string.h #include malloc.h #definetabprintf( *n );typedefstructCITY{charname[20];intppl;structCITY*next;}city;city*head;intn=0;voidsum(){city*p=head- next;longsum=0;while(p!=NULL){sum+=p- ppl;p=p- next;}printf( Thereare%drecordswehave*nThepopulationofallthecitiesis:%ld*n ,n,sum);return;}voidfind(){city*p=NULL;charname[20];printf( Inputthenameofcityyousearch: );scanf( %s ,name);printf( Nowsearching... );p=(city*)search(name);if(p==NULL){printf( Thecityisnotinthelist.*n );return;}printf( Name:%s*nPopulation:%d*n ,name,p- ppl);return;}city*search(char*name){city*p=head;while(p- next!=NULL){if(strcmp(p- next- name,name)==0)returnp;p=p- next;}returnNULL;}voidadd(){city*new;new=(city*)malloc(sizeof(city));if(new==NULL){printf( Thereisnotenoughmemory!*n );return;}add_input(new);new- next=head- next;head- next=new;n++;printf( Thenewcityhasbeenadded.*n );return;}voidadd_input(city*p){charname[20];printf( Inputthename: );scanf( %s ,p- name);while(((city*)search(name))- next!=NULL){printf( Thecityhasbeeninthelist!*nPleasereinputaname(orinput* 0* tostop): );scanf( %s ,p- name);if(name[0]==0)return;}printf( Inputthepopulation: );scanf( %d ,p- ppl);return;}voiddel(){city*p=NULL;charname[20];printf( Inputthenameofthecity: );scanf( %s ,name);p=(city*)search(name);printf( Nowsearching...*n );while(p- next==NULL){printf( Thecitysinotinthelist!*nPleasereinputacity sname(orinput* 0* tostop): );scanf( %s ,name);if(name[0]==0)return;}p- next=p- next- next;n**;printf( Thec