下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华为面试题C语言软件工程师范文那就是变量i没有定义,这在代码编译阶段编译器可以帮你发现,很容易搞定。然而很多问题是自己造成的漏洞,编译器是帮不上什么忙的。这里最大的问题还是str1没有结束符,因为strcpy的第二个参数应该是一个字符串常量。该函数就是利用判断第二个参数的结束符来得到是否拷贝完毕。所以在for循环后面应加上str1p[9]=‘’;
pS:字符数组和字符串的最明显的区别就是字符串会被默认的加上结束符’’。
voidtest3(char*str1)
{
charstring[10];
if(strlen(str1){
strcpy(string,str1);
}
}
这里的问题仍是越界问题。strlen函数得到字符串除结束符外的长度。如果这里是小结:上面的三个找错的函数,主要是考查对字符串和字符数组的概念的掌握以及对strcpy函数和strlen函数的理解。
2、找错
DSNget_SRM_no()
{
staticintSRM_no;
intI;
">for(I=0;I
{
SRM_no%=MAX_SRM;
if(MY_e==IDLE)
{
break;
}
}
if(I>=MAX_SRM)
return(NULL_SRM);
else
returnSRM_no;
}
这里for循环的判断语句是后来我加上的,估计在网上流传的时候被人给弄丢了,根据对程序的分析,给补上了。估计错误应该不是这儿。
简单的阅读一下这个函数,可以大略的可以猜想出这个函数的功能是分配一个空闲的SRAM块。办法:从上次分配的RAM块后的RAM块开始检测SRAM每个RAM块,看是否是IDLE状态,如果是IDLE那么返回当前的RAM块的号SRM_no。如果所有的RAM块都不是IDLE状态,那么意味着无法分配一个RAM给函数调用者,返回一个表示没有RAM可分配的'标志(NULL_SRM)。
经过上面的分析,那么这里可以知道,这个函数的错误是for循环里面没有给SRM_no这个变量累加1。
3、写出程序运行结果
intsum(inta)
{
autointc=0;
staticintb=3;
c+=1;
b+=2;
return(a+b+c);
}
voidmain()
{
intI;
inta=2;
for(I=0;I{
printf("%d,",sum(a));
}
}
运行结果是:8,10,12,14,16,
在求和函数sum里面c是auto变量,根据auto变量特性知每次调用sum函数时变量c都会自动赋值为0。b是static变量,根据static变量特性知每次调用sum函数时变量b都会使用上次调用sum函数时b保留的值。
简单的分析一下函数,可以知道,假设传入的参数不变,那么每次调用sum函数返回的结果,都比上次多2。所以答案是:8,10,12,14,16,
4、func(1)=《
intfunc(inta)
{
intb;
switch(a)
{
case1:30;
case2:20;
case3:16;
default:0;
}
returnb;
}
在case语句中可能忘记了对变量b赋值。如果改为下面的代码:
intfunc(inta)
{
intb;
switch(a)
{
case1:b=30;
case2:b=20;
case3:b=16;
default:b=0;
}
returnb;
}
因为case语句中漏掉了break语句,所以无论传给函数的参数是多少,运行结果均为0。
5、a[q-p]=《
inta[3];
a[0]=0;a[1]=1;a[2]=2;
int*p,*q;
p=a;
q=&a[2];
很明显:a[q-p]=a[2]=2;
6、内存空间占用问题
定义int**a[3][4],那么变量占有的内存空间为:16位系统24,32位编译系统中是48。
pS:公式:3*4*sizeof(int**)。
7、程序编写
编写一个函数,要求输入年月日时分秒,输出该年月日时分秒的下一秒。如输入2022年12月31日23时59分59秒,那么输出2022年1月1日0时0分0秒。
voidResetTheTime(int*year,int*month,int*date,int*hour,int*minute,int*second)
{
intdayOfMonth[12]={31,28,31,30,31,30,31,31,30,31,30,31};
if(*year12||
*date31||*hour23||
*minute59||*second60)
return;
if(*year%400==0||*year%100!=0&&*year%4==0)
dayOfMonth[1]=29;
if(*second>=60)
{
*second=0;
*minute+=1;
if(*minute>=60)
{
*minute=0;
*hour+=1;
if(*hour>=24)
{
*hour=0;
*date+=1;
if(*dat
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2027届上海市杨浦区名校化学九年级第一学期期末监测模拟试题含解析
- 2027届太原市九年级化学第一学期期末教学质量检测试题含解析
- 江苏省常州市武进区洛阳初级中学2027届九年级化学第一学期期末复习检测模拟试题含解析
- 安徽省宣城市名校2027届化学九年级第一学期期末监测试题含解析
- 山西省(运城地区)2027届九上化学期中达标测试试题含解析
- 2027届重庆市荣昌清流镇民族中学物理九年级第一学期期末质量跟踪监视试题含解析
- 关于开展年度意识形态工作责任制落实情况专项督查的通知
- 2027届江苏省汇文实中学九上化学期中预测试题含解析
- 2026中国化工新材料特种单体市场需求变化与工艺创新研究
- 2026汽车制造行业发展趋势供需形势及产业投资规划分析报告
- 重庆万州区2026年社区工作者招聘考试试卷-含答案解析
- 湖北省宜昌市秭归县县域高中联合体2025-2026学年高一下学期期末测评语文试题(含答案)
- 2025年湖南生物机电职院高职单招职业适应性测试考试题库及完整答案详解(名师系列)
- 2026电信转正考试题库及答案
- 餐饮业餐厅经理经营效益及团队管理KPI考核表
- 2026广西质量工程职业技术学院第一批公开招聘工作人员65人考试备考试题及答案详解
- 2026年作风建设年研讨发言材料-强化责任担当、认真履职尽责,抓好作风建设
- 丹东施工方案
- 喷砂房设计方案和对策
- 2023年电信考试题库
- GB/T 41888-2022船舶和海上技术船舶气囊下水工艺
评论
0/150
提交评论