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

55.请写出以下程序的输出结果。(5分)#include<stdio.h>voidmain(){union{longb,charc[4];}s;s.b=0xa0000L;... 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]);
}
展开
 我来答
紫薇参星
科技发烧友

2020-11-04 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:5983
采纳率:92%
帮助的人:3577万
展开全部

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

#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.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式