C |杂项|问题9

null

#include <stdio.h>
#include <string.h>
int main()
{
char a[] = { 'G' , 'E' , 'E' , 'K' , 'S' , 'Q' , 'U' , 'I' , 'Z' };
char b[] = "QUIZ" ;
char c[] = "GEEKS" ;
char d[] = "1234" ;
int l = strlen (a);
int o = printf ( "%d" , sizeof (( sizeof (l)+(c[5]+d[0]+a[1]+b[2]))) );
printf ( "%c" , a[o]);
return 0;
}


感谢Gokul提出这个问题。 (A) 4E (B) 8E (C) 1234Q (D) 编译器相关 答复: (D) 说明: 输出似乎依赖于编译器。这取决于sizeof返回类型的大小。sizeof的返回类型是std::size_t。在某些编译器中,size_t的大小是4字节,在另一些编译器中是8字节。 这个问题的小测验

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