来源于读者投稿。
笔试时间:2020.09.24
时长:90分钟
题目:25道题,全是C语言代码题,问输出结果。
总结:时间紧,任务重,硬核。
本文大家可以先收藏,后面再做一做看,锐捷网络出的题目考察知识点很全面。
本系列持续更新,欢迎大家关注并星标我的微信公众号,有求职或者跳槽需要的即可回来复习。
题目
答案在题目开头
1、
代码语言:javascript复制str1:
str2:str2
str3:null
第一个,函数内部定义的变量在函数结束时候释放掉了,所以返回会出错,
第二个是str2,
第三个定义是void,没有返回值,打印空,内存非法访问。
代码语言:javascript复制#include<stdio.h>
char *getstr1()
{
char s[]="str1"; //static char s[]="str1";
return s;
}
char *getstr2()
{
char *s="str2";
return s;
}
void getstr3(char *s)
{
s="str3";
return;
}
int main()
{
char *s1,*s2,*s3;
s1=getstr1();
s2=getstr2();
getstr3(s3);
printf("str1:%srn",s1);
printf("str2:%srn",s2);
printf("str3:%srn",s3);
}
2、4 6 1
代码语言:javascript复制#include<stdio.h>
#include<string.h>
int main()
{
char *str="Ruijie";
printf("str1:%drn",sizeof(str));
printf("str2:%drn",strlen(str));
printf("str3:%drn",sizeof(*str));
}
3、8 20
代码语言:javascript复制#include<stdio.h>
int main()
{
int x=0,y=0;`
while(x<15){
y ;
x = y;
}
printf("%d %d",y,x);
}
4、48(考察宏定义的边界效应)
代码语言:javascript复制#include<stdio.h>
#define N 3
#define Y(n) ((N 1)*n)
int main()
{
int z;
z=2*(N Y(5 1));
printf("%d",z);
}
5、0 1
ptr[0]是等于&a[0][0],所以*ptr[0]=a[0][0]
所以最后这个二维数组是 000 100 200
代码语言:javascript复制#include<stdio.h>
#include<string.h>
static int arr[3][3]={0};
void init(int (*ptr)[3])
{
int i=0;
for(i=0;i<3;i ){
*(ptr[i])=i;
}
return;
}
int main(int argc,char **argv)
{
init(arr);
printf("%d,%dn",arr[0][1],arr[1][0]);
return 0;
}
6、%s 遇到 才会截止输出,遇到 才会截止计算
代码语言:javascript复制#include<stdio.h>
#include<string.h>
int main()
{
char str[]={'o','u','l','d'};
printf("%d",strlen(str));
return 0;
}
代码语言:javascript复制#include<stdio.h>
#include<string.h>
int main()
{
char str[]={'o','u','l','d','