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 #pragma directive?how it is used in the program? what is its advantages and disadvantages?

2 Answers  


In which layer of the network datastructure format change is done

0 Answers   Honeywell,


what does ‘Bus Error’ mean?

1 Answers   ABC,


how to connect oracle in C/C++.

3 Answers   TCS, Wipro,


What is use of null pointer in c?

0 Answers  






what is the coding of display the factorial of a number using array and function?

1 Answers  


What are the advantages of c language?

0 Answers  


Does c have function or method?

0 Answers  


How to print "I Love My India" without using semi colon?

4 Answers  


what is the difference between while and do while?

2 Answers  


Find the highest of three numbers and print them using ascending orders?

1 Answers  


Write a program to generate random numbers in c?

0 Answers  


Categories