c语言面试找错题
1、 c 语言同意一些令人震惊的结构,下面的结构是合法的吗,如果是它做些什么?
int a = 5, b = 7, c;
c = a+++b;
这个问题将做为这个测验的一个愉快的结尾。不管你相不相信,上面的例子是完全合乎语法的。问题是编译器如何处理它?水平不高的编译作者实际上会争论这个问题,根据最处理原则,编译器应当能处理尽可能所有合法的用法。因此,上面的代码被处理成:
c = a++ + b;
因此, 这段代码持行后 a = 6, b = 7, c = 12。
如果你知道答案,或猜出正确答案,做得好。如果你不知道答案,我也不把这个当作问题。
我发现这个问题的最大好处是这是一个关于代码编写风格,代码的可读性,代码的可修改性的好的话题。
2、下面的代码输出是什么,为什么?
void foo(void)
{
unsigned int a = 6;
int b = -20;
(a+b > 6) ? puts("> 6") : puts("<= 6");
}
这个问题测试你是否懂得 c 语言中的整数自动转换原则,我发现有些开发者懂得极少这些东西。不管如何,这无符号整型问题的答案是输出是 ">6"。原因是当表达式中存在有符号类型和无符号类型时所有的操作数都自动转换为无符号类型。因此-20 变成了一个非常大的正整数,所以该表达式计算出的结果大于 6。这一点对于应当频繁用到无符号数据类型的嵌入式系统来说是丰常重要的。如果你答错了这个问题,你也就到了得不到这份工作的边缘。
3、请找出下面代码中的所以错误
说明:以下代码是把一个字符串倒序,如“abcd”倒序后变为“dcba”
1、#include"string.h"
2、main()
3、{
4、 char*src="hello,world";
5、 char* dest=null;
6、 int len=strlen(src);
7、 dest=(char*)malloc(len);
8、 char* d=dest;
9、 char* s=src[len];
10、 while(len--!=0)
11、 d++=s--;
12、 printf("%s",dest);
13、 return 0;
14、}
答:
方法 1:
int main(){
char* src = "hello,world";
int len = strlen(src);
char* dest = (char*)malloc(len+1);//要为 分配一个空间
char* d = dest;
char* s = &src[len-1];//指向最后一个字符
while( len-- != 0 )
*d++=*s--;
*d = 0;//尾部要加
printf("%sn",dest);
free(dest);// 使用完,应当释放空间,以免造成内存汇泄露
return 0;
}
方法 2:
#include
#include
main()
{
char str[]="hello,world";
int len=strlen(str);
char t;
for(int i=0; i
{
t=str[i];
str[i]=str[len-i-1]; str[len-i-1]=t;
}
printf("%s",str);
return 0;
}
4、请问下面程序有什么错误?
int a[60][250][1000],i,j,k;
for(k=0;k<=1000;k++)
for(j=0;j<250;j++)
for(i=0;i<60;i++)
a[i][j][k]=0;
答案:把循环语句内外换一下
-
大学生应聘网络编辑的3个面试问题
在网络编辑招聘中,几乎所有人对网络编辑职业都是一无所知。大概60%的求职者抱着以游戏爱好为毕生事业的狂热心态;20%则向往网络上的文字工作职业,但几乎不了解文字工作;还有20%就是求职心切,看见什么工作都瞎投简历。每个以编辑为求职目的的应届大学生,能从以下三...
-
外贸业务员面试问题及答案
外贸业务员在公司占有中有的位置,与公司经营状况的好坏息息相关,因此公司外贸部门在招聘时,对应聘人员的素质,及专业技能会采用专业的面试问题考察,外贸业务员面试问题分享:1、你能为公司创造什么?回答思路:因为外销市场广大,内销始终只是在本国的一个区域中,即便如中...
-
海南海事局国考面试真题
1.海上搜救是否要不计成本?【试题类别】综合分析类试题【考查要素】综合分析能力、解决问题能力、快速反应能力【思路点拨】对于综合分析题目我们的思路是要首先分析海上搜救的现状和意义,接着再考虑回答是否要不计成本,并且解释为什么,然后思考有没有更好的解决...
-
面试题:职业技能改进
问:如果事情不按你所计划的发展,你又如何重新部署呢?答:我开始想像有可能出现的最坏结果,然后找出能避免那糟糕结果出现的预防措施。这样做之后,我通常都能取得和原定目标不相上下的结果。我前面叙述的那个培训例子就是证明。描述曾经出现的困难迫使你改变原来的计划...