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

Discussion

What will be the output of the program ?

#include <stdio.h>

int main()
{
    int arr[1]={10};
    printf("%d\n", 0[arr]);
    return 0;
}

 

  • A.1
  • B.10
  • C.6

Answer: B

Correct answer: 10

Subscripting is defined as a[i] being exactly *(a + i). Addition commutes, so *(a + i) is also *(i + a), which is i[a]. Therefore 0[arr] means arr[0], printing 10. It is legal but nobody writes it outside puzzles.

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

Post your comment

Please log in or register to post a comment.