Concat two string with most overlapped substring has to
remove  "abcd"+ "cdef" = "abcdef

Answers were Sorted based on User's Feedback



Concat two string with most overlapped substring has to remove  "abcd"+ "cdef"..

Answer / durga prasad

above code some thing wrong.
if "abcd","cefg" then output will be "abcdcefg"
but above code will give "abcefg"

Is This Answer Correct ?    2 Yes 0 No

Concat two string with most overlapped substring has to remove  "abcd"+ "cdef"..

Answer / sham

Check the each char in the second string with first string
if it is not there then concatenate into the first string else
do not do.

Is This Answer Correct ?    0 Yes 0 No

Concat two string with most overlapped substring has to remove  "abcd"+ "cdef"..

Answer / sham

char *strappend1(char *src,char *des)
{
char *tmp=src;
int f=0;
while(*des)
{
while(*src!='\0')
{
if(*src==*des)
{
f=0;
break;
}
else
f=1;
src++;
}
if(f==1)
{
*src++=*des;
*src='\0';
}
des++;
}
return tmp;
}
int main(int argc,char **argv)
{
char *src=argv[1],*des=argv[2];
char *str;
str=strappend1(src,des);
printf("%s",str);
}

Is This Answer Correct ?    0 Yes 1 No

Concat two string with most overlapped substring has to remove  "abcd"+ "cdef"..

Answer / ashwin kumar

the code given by tarak is correct

ie

#include<stdio.h>
main()
{
char *a="abcd";
char *b="cdef";
char c[10];
int i=0;
while(*a != *b)
{
c[i] = *a++;
i++;
}
while(*b != '\0')
{
c[i]= *b++;
i++;
}
printf("%s\n",c);
}



but the answer is abcdef and some garbage values yar

abcdef{}>>>M<C<P{{

to get perfect answer just add '\o' at end of the code and
before printf dear




#include<stdio.h>
main()
{
char *a="abcd";
char *b="cdef";
char c[10];
int i=0;
while(*a != *b)
{
c[i] = *a++;
i++;
}
while(*b != '\0')
{
c[i]= *b++;
i++;
}

c[i]='\0'; //// new added line here






printf("%s\n",c);
}

Is This Answer Correct ?    0 Yes 1 No

Concat two string with most overlapped substring has to remove  "abcd"+ "cdef"..

Answer / om

@Ashwin Kumar
According to your program....
char *a="abcdcdcd";
char *b="cdef";

output is "abcdef"..//which is wrong.....it should be abcdcdef

Is This Answer Correct ?    0 Yes 1 No

Concat two string with most overlapped substring has to remove  "abcd"+ "cdef"..

Answer / tarak

#include<stdio.h>
main()
{
char *a="abcd";
char *b="cdef";
char c[10];
int i=0;
while(*a != *b)
{
c[i] = *a++;
i++;
}
while(*b != '\0')
{
c[i]= *b++;
i++;
}
printf("%s\n",c);
}

Is This Answer Correct ?    4 Yes 6 No

Post New Answer

More C Interview Questions

What is meant by preprocessor in c?

0 Answers  


What is return in c programming?

0 Answers  


enum colors {BLACK,BLUE,GREEN} main() { printf("%d..%d..%d",BLACK,BLUE,GREEN); return(1); }

4 Answers   ME,


write c program without semicolon

11 Answers   MindTech, TCS, Wipro,


Linked lists -- can you tell me how to check whether a linked list is circular?

0 Answers  


How do I declare an array of N pointers to functions returning pointers to functions returning pointers to characters?

2 Answers  


define string ?

0 Answers  


What will be the output of following program #include main() { int x,y = 10; x = y * NULL; printf("%d",x); }

1 Answers  


What's the difference between calloc() and malloc()?

4 Answers  


Write a program to swap two numbers without using third variable?

0 Answers  


What is a void pointer? When is a void pointer used?

0 Answers   Aspire, Infogain,


What are runtime error?

0 Answers  


Categories