logo - 刷刷题
下载APP
【简答题】

阅读以下说明,回答下列问题。
[说明]
在某嵌入式处理器上,编写以下两段程序(编译选项中,存储采用4字节对齐方式)。
程序段1:
struct student1{
char name[10];
long sno;
char ;
float score[4];
} *p1, a1, b1;
程序段2:
union student2{
char name[10];
long sno;
char ;
float score[4];
} *p2, a2, b2;
汉诺塔问题说明:有n个盘子在A处,盘子从小到大,最上面的盘子最小,程序要把这n个盘子从A处搬到C处,可以在B处暂存,但任何时候都不能出现大的盘子压在小的盘子上面的情况。
下列是一段求解汉诺塔问题的C语言程序。
#include <stdio.h>
void move(int n, char a, char c)
{
static int Step=1;
printf("Step %2d: Disk %d %c---> %c\n",Step,n,a,c);
Step++;
}
void Hanoi(int n, char a, char b, char c)
{
if (n>1)
{
Hanoi(n-1, a, c, b);
move(n, a, c);
Hanoi(n-1, b, a, c) ;
}
else move(n, a, c);
}
void main()
{
Hanoi(3,"A", "B", "C");
}

回答问题。
(1)sizeof(structstudent1)结果是多少
(2)sizeof(unionstudent2)结果是多少
(3)变量a2在程序段2中定义,写出执行以下语句后的输出结果。
strcpy(a2.name,"zhangwei");
a2.="f";
printf("%s",a2.name);

阅读以下说明,回答下列问题。
[说明]
在某嵌入式处理器上,编写以下两段程序(编译选项中,存储采用4字节对齐方式)。
程序段1:
struct student1{
char name[10];
long sno;
char ;
float score[4];
} *p1, a1, b1;
程序段2:
union student2{
char name[10];
long sno;
char ;
float score[4];
} *p2, a2, b2;
汉诺塔问题说明:有n个盘子在A处,盘子从小到大,最上面的盘子最小,程序要把这n个盘子从A处搬到C处,可以在B处暂存,但任何时候都不能出现大的盘子压在小的盘子上面的情况。
下列是一段求解汉诺塔问题的C语言程序。
#include <stdio.h>
void move(int n, char a, char c)
{
static int Step=1;
printf("Step %2d: Disk %d %c---> %c\n",Step,n,a,c);
Step++;
}
void Hanoi(int n, char a, char b, char c)
{
if (n>1)
{
Hanoi(n-1, a, c, b);
move(n, a, c);
Hanoi(n-1, b, a, c) ;
}
else move(n, a, c);
}
void main()
{
Hanoi(3,"A", "B", "C");
}

回答问题。
(1)sizeof(structstudent1)结果是多少
(2)sizeof(unionstudent2)结果是多少
(3)变量a2在程序段2中定义,写出执行以下语句后的输出结果。
strcpy(a2.name,"zhangwei");
a2.="f";
printf("%s",a2.name);

举报
参考答案:
参考解析:
.
刷刷题刷刷变学霸
举一反三

【单选题】微处理器的主要功能是( )。

A.
运算和控制
B.
运算和存储
C.
运算、控制和存储
D.
运算、控制和输入输出