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 the use of #define preprocessor in c?
write the program for maximum of the following numbers? 122,198,290,71,143,325,98
Why string is used in c?
What are static functions?
int x=5; printf("%d%d%d",x,x<<2,x>>2);
What does malloc () calloc () realloc () free () do?
What are the different pointer models in c?
what are threads ? why they are called light weight processes ? what is the relation between process and threads ?
What is the scope of local variable in c?
what is dangling pointer?
read the folllowing code # define MAX 100 # define MIN 100 .... .... if(x>MAX) x=1; else if(x<MIN) x=-1; x=50; if the initial value of x=200,what is the vlaue after executing this code? a.200 b.1 c.-1 d.50
Why do we use static in c?