这是一道非常常见的面试题,很多人一眼看过去就知道问题在哪了,是的,程序运行异常,可能出现Segmentation fault。 分析 首先第一个问题在于,str的值是没有变的,也就是说执行getmemory之后,str还是NULL,即不能达到预期,使得str指向一个保存着字符串的内存区域。而这里主要考察的是对C语言中参数值传递的理解。更加详细...
一道简单的面试题.C语言7:若定义了union{ char ashort b〔4〕〔5〕long c〔5〕u则执行printf〃%d〃,sizeofu;语句的输出结果是A.10B.20C.40D.70请问答案是什么小弟我初学 ,请问为什么是C 相关知识点: 试题来源: 解析 40 选B联合体成员共享内存,其字节长等于其成员占用字长最大者unionchar a[10]; /...
这是一道非常常见的面试题,很多人一眼看过去就知道问题在哪了,是的,程序运行异常,可能出现Segmentation fault。 分析 首先第一个问题在于,str的值是没有变的,也就是说执行getmemory之后,str还是NULL,即不能达到预期,使得str指向一个保存着字符串的内存区域。而这里主要考察的是对C语言中参数值传递的理解。更加详细...
首先,要注意的一点是这里的if判断条件里用的是=号,而不是==号,这个小陷阱可能会迷惑一些初学C语言的朋友。如果这里用的是==号的话,正确答案自然就是C选项了。 接下来我们来简单看一下本题答案为什么是B选项。if语句的通用形式为: 可以明确的是:如果对expression为真(非0),则执行statement。本题中,如if (i...
一道简单的面试题.急.C语言7:若定义了 union{ char a〔10〕;short b〔4〕〔5〕;long c〔5〕;}u;则执行printf〃%d\n〃,siz
2.C语言的类型提升发生在什么时候? 对于问题1,答案是否定的,这一点可以通过简单试验得知,原理参见问题2的研究: 1 2 3 intapple = 1; apple <<= 31; intpear = apple & apple-1; 首先,printf("%d", sizeof('a');的输出是什么?(摘自C专家编程) ...
最后我们总结反思一下,开头我们说这道题可以大致反映你C语言目前的学习层次,就像A,B ,C三个小伙伴一样,分别为一般,还可以,比较扎实,当然也不能断章取义,说的是大致反映。可以看出,真实的面试题并不简单,需要扎实的C语言基础和一定的分析能力,希望大家在后面的学习中找准方向、多加努力,就说到这里吧,谢谢各位了...