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主页上,并帮助其他极客。 如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。