首页 > 试题广场 >

考虑下面的程序段: struct name {

[问答题]
考虑下面的程序段:
struct name {
char first[20];
char last[20];
};
struct bem {
int limbs;
struct name title;
char type[30];
};
struct bem * pb;
struct bem deb = {
6,
{"Berbnazel", "Gwolkapwolk"},
"Arcturan"
};

pb = &deb;
a. 下面每个语句会打印出什么?
printf ("%d\n", deb.limbs);
printf ("%s\n", pb->type);
printf ("%s\n", pb->type + 2);
b. 怎样用结构符号表示"Gwolkapwolk"(使用两种方法)?
c. 编写一个函数,以一个bem结构的地址作为参数,并以下面所示的形式输出结构内容。假定结构模板在一个名为starfolk.h的文件中。
Berbnazel Gwolkapwolk is a 6-limbed Arcturan.
推荐
a.
6
Arcturan
Cturan
b. 使用结构名并使用指针:
deb.title.last
pb->title.last
c. 下面是一个版本:
#include <stdio.h>
#include "starfolk.h"    /* 使结构定义可用  */

void prbem (const struct bem * pbem)
{
printf ("%s %s is a %d-limbed %s.\n", pbem->title.first,
pbem->title.last, pbem->limbs, pbem->type);
}
发表于 2018-03-23 21:50:26 回复(0)