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

Discussion

If the size of pointer is 4 bytes then What will be the output of the program ?

#include <stdio.h>

int main()
{
    char *str[] = {"Frogs", "Do", "Not", "Die", "They", "Croak!"};
    printf("%d, %d", sizeof(str), strlen(str[0]));
    return 0;
}

 

  • A.22, 4
  • B.25, 5
  • C.24, 5
  • D.20, 2

Answer: C

Correct answer: 24, 5

str is an array of six pointers, and each is 4 bytes, so sizeof(str) is \(6 \times 4 = 24\) - the size of the pointer table, not of the strings it points at. strlen(str[0]) counts the characters of Frogs, which is 5.

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

Post your comment

Please log in or register to post a comment.