C Programming - Strings - Discussion

Discussion Forum : Strings - Find Output of Program (Q.No. 8)
8.
What will be the output of the program ?
#include<stdio.h>

int main()
{
    char str[7] = "IndiaBIX";
    printf("%s\n", str);
    return 0;
}
Error
IndiaBIX
Cannot predict
None of above
Answer: Option
Explanation:
Here str[] has declared as 7 character array and into a 8 character is stored. This will result in overwriting of the byte beyond 7 byte reserved for '\0'.
Discussion:
12 comments Page 2 of 2.

Vivek Todi said:   1 decade ago
Gcc compilation shows that only the first seven characters are going to be printed. The correct answer should be option D. None of these.

Smith said:   1 decade ago
If we assign more elements than array size then Turbo C gives complie time erro "Too many initialisers".


Post your comments here:

Your comments will be displayed after verification.