See the following program:
#include
#include
#include
#include
main(void){
printf("Array concatenateor\n-------------------------\n");
//declarations
char s1[50],s2[50],s3[50];
short int n=0;
//Array initialisation
printf("Array 1: ");
gets(s1);
printf("Array 2: ");
gets(s2);
strcpy(s3, s1); //asure initial form of s1 in s3
strcat(s1, s2); //concatenate s1 with s2
//at this point s1 is in the concatenation form and s3 is s1's initial form
printf("Arrays concatenated with STRCPY: \"%s\"\n", s1); //print concatenation, s3 ok
printf("Number of characters to concatenate: "); //scan number, s3 ok
scanf("%d",&n); //beyond this point s3 becomes null... peculiar
printf("S3: %s\n",s3); //this is the proof of s3 being null
strncat(s3,s2,n); //s3 concatenates with n chars of s2
printf("Arrays concatenated with STRNCAT(%d chars): %s\n", n, s3); //print s3
system("PAUSE");
return 0;
}
It is peculiar how that specific scanf erases the s3 array without even being implied. How come this happens?
JavaScript questions and answers, JavaScript questions pdf, JavaScript question bank, JavaScript questions and answers pdf, mcq on JavaScript pdf, JavaScript questions and solutions, JavaScript mcq Test , Interview JavaScript questions, JavaScript Questions for Interview, JavaScript MCQ (Multiple Choice Questions)