C程序输出|集合44(结构与联合)

先决条件: 结构 协会 奎。1该程序的输出是什么?

null

C

#include <stdio.h>
struct sample {
int a = 0;
char b = 'A' ;
float c = 10.5;
};
int main()
{
struct sample s;
printf ( "%d, %c, %f" , s.a, s.b, s.c);
return 0;
}


选项 a) 错误 b) 0,A,10.5 c) 0,A,10.500000 d) 没有错误,没有输出

Answer: a

说明: 错误:无法在此处初始化成员。我们只能在结构内声明成员,结构声明中不允许使用声明初始化成员。 奎。2该程序的输出是什么?

C

#include <stdio.h>
int main()
{
struct bitfield {
signed int a : 3;
unsigned int b : 13;
unsigned int c : 1;
};
struct bitfield bit1 = { 2, 14, 1 };
printf ( "%ld" , sizeof (bit1));
return 0;
}


选项 a) 四, b) 六, c) 八, d) 十二

Answer:  a

说明: 结构位域bit1={2,14,1};当我们初始化它时,只需要一个值,即int,int的大小为4 奎。3.这个程序的输出是什么?

C

#include <stdio.h>
int main()
{
typedef struct tag {
char str[10];
int a;
} har;
har h1, h2 = { "IHelp" , 10 };
h1 = h2;
h1.str[1] = 'h' ;
printf ( "%s, %d" , h1.str, h1.a);
return 0;
}


选项 a) 错误 b) 我帮忙,10岁 c) 我帮你,0 d) 我帮忙,10岁

Answer : d

说明: 可以将一个结构变量复制到另一个结构变量中,如h1=h2。因此h2的值。str被分配到h1。str。 奎。4.输出是什么?

C

#include <stdio.h>
struct sample {
int a;
} sample;
int main()
{
sample.a = 100;
printf ( "%d" , sample.a);
return 0;
}


选项 a) 0 b) 一百 c) 错误 d) 警告 答复

Answer : b

说明: 这种类型的声明在c中是允许的。 奎。5该程序的输出是什么?

C

#include <stdio.h>
int main()
{
union test {
int i;
int j;
};
union test var = 10;
printf ( "%d, %d" , var.i, var.j);
}


选项 a) 10,10 b) 10,0 c) 0,10 d) 编译错误

Answer : d

说明: 错误:初始化无效。不能像这样初始化联合变量。 下一个测验是关于结构和联合的 本文由 Ajay Puri(ajay0007) .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 贡献极客。组织 或者把你的文章寄到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。 如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享