Explain the output of these short C programs
main()
{
static int var = 4;
printf("%d",var--);
if(var)
  main();
}The output is given as 43212.
main()
{
static char n [5][20]={"Amar","Akbar","Anthony","Vijay","Amit"};
int i;
char*t;
t=n[3];
n[3]=n[4];
n[4]=t;
for(i=0;i<=4;i++)
    printf("%s",n[i]);
}This will generate a compiler error due to a property that array names can not be modified or something like that. Please explain it in detail.3.
void main()
{
int i=5;
printf("%d",i+++++i);
}They say this will be parsed like i++ ++ +i which is illegal therefore there will be compiler error. Why is it not parsed like the following: i++ + ++i?4.
main()
{
int i=0;
for(;i++;printf("%d",i));
printf("%d",i);
}The output of this program is given as 1. But I think it should be 11. What do you think? Explain the program flow.5.
main()
{
int a[2][3][2]={{{1,2},{9,8},{3,7}},{{2,2},{1,4},{5,4}}};
printf("%d %d %d",a[1]-a[0],a[1][0]-a[0][0],a[1][0][0]-a[0][0][0]);
}The output is given as 3 6 1. How? How to process a[1]-a[0] and a[1][0]-a[0][0]?Just explain the concepts which you know exactly. Need not have to answer all the programs if you don't know. Just give number for which you are answering.😀