C语言,题目有图,刚入门,有些过程看不懂,希望答案有详细过程?

55.请写出以下程序的输出结果。(5分)
# include < stdio. h>
void main( )
{
union
{
long b,
char c[4];
}s;
s.b= 0xa0000L;
s.c[0]+='A';
printf("%d%c\n",s.c[2],s.c[0]);
}

源程序的每一句解释(见注释),运行结果,程序的功能和运行结果分析如下

#include<stdio.h>

void main()

{

 union//定义一个包含长整型和字符型数组的联合结构

 {

  long b;//定义一个长整型

  char c[4];//定义一个字符型数组

 }s;//定义一个联合结构的变量s

 s.b= 0xa0000L;//对联合中的长整型赋值

 s.c[0]+='A';//对联合中的字符数组的第一个元素赋值

 //以十进制整型输出字符数组的第三个元素

 //以字符型输出字符数组的第一个元素

 printf("%d%c\n",s.c[2],s.c[0]);

}

追问

大哥,long b,你打成long b;答案是48A,其实我不懂怎么算出来的😂

追答

如果是逗号,编译都通不过,运行结果是10A,不是48A.

追问

OK,懂了,谢谢了

温馨提示:答案为网友推荐,仅供参考