string

fmmctg01's Avatar, Join Date: Mar 2011
Go4Expert Member
char str1[100]="a rolling stone";
char str2[200]="gather no moss";
char str3[100];
write code that content of str1,followed by the content of str2, into str3. Display str3.
xpi0t0s's Avatar, Join Date: Aug 2004
Mentor
strcpy, strcat and printf are your friends.
teacher's Avatar, Join Date: Mar 2011
Contributor
you can write the code without the use of these functions....
Code: cpp
int main(){
int i,j;
char str1[100]="a rolling stone";
char str2[200]="gather no moss";
char str3[100];
for(i=0;str1[i]!='\0';++i)
str3[i]=str1[i];
str3[i]='  ';
for(j=0;str2[j]!='\0';++j)
str3[j+i+1]=str2[j];
str3[j+i+1]='\0';
printf("%s",str3);
}
but i suggest you to apply your brains in this.This is a very simple programming question..
fmmctg01 like this
virxen's Avatar, Join Date: Nov 2009
Pro contributor
Quote:
Originally Posted by teacher View Post
you can write the code without the use of these functions....
Code: cpp
int main(){
int i,j;
char str1[100]="a rolling stone";
char str2[200]="gather no moss";
char str3[100];
for(i=0;str1[i]!='\0';++i)
str3[i]=str1[i];
str3[i]=' ';
for(j=0;str2[j]!='\0';++j)
str3[j+i+1]=str2[j];
str3[j+i+1]='\0';
printf("%s",str3);
}


but i suggest you to apply your brains in this.This is a very simple programming question..
the code you gave is wrong check it again.(Hint 100+200>100)
teacher like this
teacher's Avatar, Join Date: Mar 2011
Contributor
oh sorry....
i just forget here is the updated version....
Code: cpp
nt main(){
int i,j;
char str1[100]="a rolling stone";
char str2[200]="gather no moss";
char str3[305];
for(i=0;str1[i]!='\0';++i)
str3[i]=str1[i];
str3[i]=' ';
for(j=0;str2[j]!='\0';++j)
str3[j+i+1]=str2[j];
str3[j+i+1]='\0';
printf("%s",str3);
}

anything else?
shabbir's Avatar, Join Date: Jul 2004
Go4Expert Founder
Quote:
Originally Posted by teacher View Post
oh sorry....
i just forget here is the updated version....
Code: cpp
nt main(){
int i,j;
char str1[100]="a rolling stone";
char str2[200]="gather no moss";
char str3[305];
for(i=0;str1[i]!='\0';++i)
str3[i]=str1[i];
str3[i]=' ';
for(j=0;str2[j]!='\0';++j)
str3[j+i+1]=str2[j];
str3[j+i+1]='\0';
printf("%s",str3);
}

anything else?
You missed the i in the int main line.
teacher's Avatar, Join Date: Mar 2011
Contributor
he he really guys its feel like i am sitting between experts and it feels very good