Assigns zero to every (26) items ofQuote:for(i = 0 ; i<26 ; temp[i]=0 , ++i);

`temp`

.Assigns one to the element ofQuote:for(i = 0 ; str1[i] ; ++i)

temp[str1[i] - 'A'] = 1;

for(i = 0 ; str2[i] ; ++i)

temp[ str2[i] - 'A'] = 1 ;

for(i = 0 ; str3[i] ; ++i)

temp[str3[i] - 'A'] = 1;

`temp[i]`

having index correpondig to the letters of the passed strings, that is `"ABCD" => temp[0]=temp[1]=temp[2]=temp[3]=1`

`"ACDS" => temp[0]=temp[2]=temp[3]=temp[18]=1`

`...`

Builds the stringQuote:for(i = k = 0 ; i<26 ; ++i)

if(temp[i])

arr[k++] = i + 'A';

`arr`

using only the letters corresponding to index of non-zero `temp`

items. That is

`if temp[i] == 1 => append character[i] to arr`

(e.g

`temp[0] == 1 => append 'A' to arr`

).Terminates theQuote:arr[k] = '\0';

return k;

`arr`

string and returns arr length.The overall result is a string containing, in alphabetic order just one occurrence (hence 'unique') of every character of the three passed string, that is

```
{"ABCD"," ACDS","KLMN"} => "ABCDKLMNS"
```

I hope my (brain compiled) code analysis is correct.

so you need to know what it does, otherwise you didn't add it to your project!

--SA

--SA