Machine-translated by Google. Questions are authored in English.
Top

Discussion

What will be the output of the program ?

#include <stdio.h>
#include <string.h>

int main()
{
    char str1[20] = "Hello", str2[20] = " World";
    printf("%s\n", strcpy(str2, strcat(str1, str2)));
    return 0;
}

 

  • A.Hello
  • B.World
  • C.Hello World
  • D.WorldHello

Answer: C

Correct answer: Hello World

Work outwards. strcat(str1, str2) appends " World" to "Hello", making str1 hold "Hello World" and returning a pointer to it. strcpy(str2, ...) then copies that into str2 and returns str2. Both arrays are 20 bytes, so there is room, and the printed string is Hello World.

No comment is present. Be the first to comment.
Loading…

Post your comment

Please log in or register to post a comment.