问题1。假设整数的大小为4字节,字符的大小为1字节。以下程序的输出是什么?
#include <stdio.h> union test { int x; char arr[8]; int y; } u; int main() { printf ( "%u" , sizeof (u)); return 0; } |
选项: A) 十二 B) 十六 C) 八, D) 四,
Answer - C
说明: 在union数据类型中,存储union变量所需的内存是union中最大元素所需的内存。
问题2。以下程序的输出是什么?
#include <stdio.h> int main() { int n; for (n = 9; n != 0; n--) printf ( "%d" , n--); } |
选项: A) 97531 B) 9 8 7 6 5 4 3 2 1 C) 无限循环 D) 9 7 5 3
Answer - C
说明: 循环将无限期运行,因为n永远不会等于0。
问题3。以下程序的输出是什么?
#include <stdio.h> int main() { int x = 1; if (x = 0) printf ( "Geeks" ); else printf ( "Geeksforgeeks" ); } |
选项: A) 极客 B) 运行时错误 C) 极客 D) 编译时错误
Answer - C
说明: 在这里,我们分配(=)而不是将(=)x与0进行比较,因为0不是真的,所以其他部分将执行并打印Geeksforgek。
问题4。以下c代码的输出是什么?
#include <stdio.h> int main() { int i = 2, j = 2; while (i + 1 ? --i : j++) printf ( "%d" , i); return 0; } |
选项: A) 一, B) 二, C) 0 D) 没有输出
Answer : A
说明: 考虑while循环条件:
i + 1 ? -- i : ++j
在第一次迭代中: i+1=3(真),所以三元运算符将返回
-–i i.e. 1
在C中,1表示真,所以当条件为真时。因此printf语句将打印1 在第二次迭代中: i+1=2(真),所以三元运算符将返回
-–i i.e. 0
在C中,零表示假,所以当条件为假时。因此,程序控制将脱离while循环。
问题5。假设整数的大小为4字节,字符的大小为1字节。以下程序的输出是什么?
#include <stdio.h> struct test { int x; char arr[8]; int y; } u; int main() { printf ( "%u" , sizeof (u)); return 0; } |
选项: A) 十二 B) 十六 C) 八, D) 四,
Answer - B
说明: 在结构数据类型中,存储结构变量所需的内存量是所有成员的内存大小之和。
本文由 里沙布·贾因 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 贡献极客。组织 或者把你的文章寄到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。
如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。