Concat two string with most overlapped substring has to
remove "abcd"+ "cdef" = "abcdef
Answers were Sorted based on User's Feedback
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 |
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 |
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 |
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 |
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 |
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 |
What is meant by preprocessor in c?
What is return in c programming?
enum colors {BLACK,BLUE,GREEN} main() { printf("%d..%d..%d",BLACK,BLUE,GREEN); return(1); }
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?
How do I declare an array of N pointers to functions returning pointers to functions returning pointers to characters?
define string ?
What will be the output of following program #include main() { int x,y = 10; x = y * NULL; printf("%d",x); }
What's the difference between calloc() and malloc()?
Write a program to swap two numbers without using third variable?
What is a void pointer? When is a void pointer used?
What are runtime error?