Given two strings, print the count of intersection of characters in two strings

Given two strings, print the count of intersection of characters in two strings

Input : 

coderegister
programs

Output:


10 - count of uncommon characters in the both strings

Implementation:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void) {
 
 /* pointer to character array */
 char *s,*v;
 
 /* hash array of size 26 to hold alphabets count */
 int hash[26],count=0,i;
 
 /* initializing the hash array with a value 0 */
 memset(hash,0,sizeof(hash));
 
 /* allocate memory for the character arrays of 1000 bytes block &
 return the address to character pointers *s & *v */
 s=(char*)malloc(sizeof(char)*1000);
 v=(char*)malloc(sizeof(char)*1000);
 i=0;
 
 /* get the two strings */
 scanf("%s",s);
 scanf("%s",v);
 
 /* record the count of each of character in the main string */
 while(*(s+i))
 {
  hash[*(s+i)-'a']++;
  i++;
 }
 
 i=0;
 
 /* for every same character occurrence in second string, decrease the value of hash index ,
 Else increment the hash index */
 while(*(v+i))
 {
  if(hash[*(v+i)-'a']!=0)
   hash[*(v+i)-'a']--;
  else
   hash[*(v+i)-'a']++;
  i++;
 }
 
 i=0;
 
 /* count the remaining characters left in the array */
 while(i<26)
 {
  count+=hash[i];
  i++;
 }
 
 /* display the count */
 printf("%d",count);
 
 return 0;
}