电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

2024华为笔试题及答案

2024华为笔试题及答案_第1页
1/5
2024华为笔试题及答案_第2页
2/5
2024华为笔试题及答案_第3页
3/5
2024 华为笔试题及答案 1. 找 错 void test1() { char string[10]; char* str1=0123456789; strcpy(string, str1); } 答:表面上并且编译都不会错误。但假如 string 数组原意表示的是字符串的话,那这个赋值就没有达到意图。最好定义为 char string[11],这样最后一个元素可以存储字符串结尾符; void test2() { char string[10], str1[10]; for(int I=0; I 10;I++) { str1[I] =a; } strcpy(string, str1); } 答:strcpy 使用错误,strcpy 只有遇到字符串末尾的才会结束,而 str1 并没有结尾标志,导致 strcpy 函数越界访问,不妨让str1[9]=,这样就正常了。 void test3(char* str1) { char string[10]; if(strlen(str1) =10) { strcpy(string, str1); } } 答 : 这 又 会 出 现 第 一 道 改 错 题 的 错 误 了 。strlen(str1)算出来的值是不包含结尾符的,假如 str1 刚好为10 个 字 符 +1 结 尾 符 , string 就 得 不 到 结 尾 符 了 。 可 将strlen(str1) =10 改为 strlen(str1) 10。 2. 找 错 #define MAX_SRM 256 DSN get_SRM_no() { static int SRM_no; int I; for(I=0;I =MAX_SRM) return (NULL_SRM); else return SRM_no; } 答:我不知道这段代码的具体功能,但明显有两个错误 1,SRM_no 没有赋初值 2,由于 static 的声明,使该函数成为不可重入(即不可预测结果)函数,因为 SRM_no 变量放在程序的全局存储区中,每次调用的时候还可以保持原来的赋值。这里应该去掉 static 声明。 3. 写出程序运行结果 int sum(int a) { auto int c=0; static int b=3; c+=1; b+=2; return(a+b+c); } void main() { int I; int a=2; for(I=0;I 5;I++) { printf(%d,, sum(a)); } } 答:8,10,12,14,16 该题比较简单。只要注意 b 声明为static 静态全局变量,其值在下次调用时是可以保持住原来的`赋值的就可以。 4. int func(int a) { int b; switch(a) { case 1: b=30; case 2: b=20; case 3: b=16; default: b=0; } return b; } 则 func(1)=? 答:func(1)=0,因为没有 break 语句,switch 中会一直计算到 b=0。这是提醒我们不要忘了 break。呵呵。 5: int a[3]; a[0]=0; a[1]=1; a[2]=2; int *p, *q; p=a; q=a[2]; 则 a[qp]=? 答...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

2024华为笔试题及答案

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部