C语言2010华为网络面试题汇总

上传人:桔**** 文档编号:509281124 上传时间:2022-07-28 格式:DOC 页数:45 大小:703KB
返回 下载 相关 举报
C语言2010华为网络面试题汇总_第1页
第1页 / 共45页
C语言2010华为网络面试题汇总_第2页
第2页 / 共45页
C语言2010华为网络面试题汇总_第3页
第3页 / 共45页
C语言2010华为网络面试题汇总_第4页
第4页 / 共45页
C语言2010华为网络面试题汇总_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《C语言2010华为网络面试题汇总》由会员分享,可在线阅读,更多相关《C语言2010华为网络面试题汇总(45页珍藏版)》请在金锄头文库上搜索。

1、学号: 2009121001姓名:达选芳本题出自: 题目: 答案:#include stdio.h#include conio.hvoid uppers(char *s,char *us)for(;*s!=0;s+,us+)if(*s=a&*s=z)*us = *s-32;else*us = *s;*us = 0;int main()char *s,*us;char ss20;printf(Please input a string:n);scanf(%s,ss);s = ss;uppers(s,us);printf(The result is:n%sn,us);getch();学号: 200

2、9121003姓名:孙英杰本题出自:华为公司题目:改错题(此代码是把一个字符串倒序,如“abcd”倒序后变为“dcba”)源代码为:#includestring.hmain()char*src=hello,world;char*dest=NULL;intlen=strlen(src);dest=(char*)malloc(len);char*d=dest;char*s=srclen;while(len-!=0)d+=s-;printf(%s,dest);return0;答案:#includeintmain()char*src=hello,world;intlen=strlen(src);cha

3、r*dest=(char*)malloc(len+1);char*d=dest;char*s=&srclen-1;while(len-!=0)*d+=*s-;*d= 0;学号: 2009121004姓名:胡蝶本题出自: 题目: 试题 : 编写一个 C 函数,该函数在一个字符串中找到可能的最长的子字符串,且该字符串是由同一字符组成的 .答案: 解答 :char * search(char *cpSource, char ch)char *cpTemp=NULL, *cpDest=NULL;int iTemp, iCount=0;while(*cpSource)if(*cpSource = ch)

4、iTemp = 0;cpTemp = cpSource;while(*cpSource = ch)+iTemp, +cpSource;if(iTemp iCount)iCount = iTemp, cpDest = cpTemp;if(!*cpSource)break;+cpSource;return cpDest;学号: 2009121005姓名:张虹本题出自:(无相关信息)题目:找错题 /* 文件名称: C/C+程序设计面试深入剖析* 文件标识: C/C+笔试 面试* 摘要:本课程的目的并不在于提供 C/C+程序员求职面试指导,而旨在从技术上分析面试题的内涵。*/* 作者:张虹,修改日期:

5、2010年 4月 10日* 修改的地方描述:主要是格式、说明内容的补充,代码上没有做任何修改。*/* 原作者:马良,完成日期:2009 年 5月 26 日*/* 试题 1*/#include “stdio.h ”#include “string.h void test1() ”char string10;char *str1=0123456789;strcpy( string, str1 );答案:试题1 字符串 str110 个字节的空间,strcpy需要 11 个字节才能存放下(包括末尾的会导致数组越界。0 ),而string只有/*试题 2*/#include“stdio.h#inclu

6、de“string.hvoid test2()”char string10,str110;int i;for( i=0; i10; i+ )str1=a;strcpy( string, str1 );答案:对试题2,如果面试者指出字符数组str1不能在数组内结束可以给3 分;如果面试者指出 strcpy(string, str1)调用使得从str1内存起复制到string内存起所复制的字节数具有不确定性可以给7 分,在此基础上指出库函数strcpy工作方式的给10 分。/* 试题 3*/#include“stdio.h”#include“string.h”void test3(char *st

7、r1)char string10;If( strlen(str1) = 10 )strcpy( string, str1 );答案:对试题的结果未统计3, if(strlen(str1)= 10 ) 应改为0 所占用的1 个字节。if(strlen(str1) 10 ),因为strlen剖析:考查对基本功的掌握:(1) 字符串以 0 结尾;(2) 对数组越界把握的敏感度;(3) 库函数 strcpy 的工作方式,如果编写一个标准strcpy 函数的总分值为10,下面给出几个不同得分的答案:/2分void strcpy( char *strDest, char *strSrc )while( (

8、*strDest+ = *strSrc+) !=0 );/4分void strcpy( char *strDest, const char *strSrc )/将源字符串加const,表明其为输入参数,加2 分while( (*strDest+ = *strSrc+) !=0 );/7分void strcpy( char *strDest, const char *strSrc )/ 对源地址和目的地址加非0 断言,加3 分assert( (strDest != NULL) & (strSrc != NULL) );while( (*strDest+ = *strSrc+) != 0 );/1

9、0分/ 为了实现链式操作,将目的地址返回,加 char * strcpy(char *strDest, const char *strSrc) 3 分!assert( (strDest != NULL) & (strSrc != NULL) );char *address=strDest;while( (*strDest+ = *strSrc+) != 0 );return address;/The end学号: 2009121006姓名:李宛芩本题出自:华为题目:请问以下代码有什么问题:int main()char a;char *str=&a;strcpy(str,hello);print

10、f(str);return 0;答:没有为str分配内存空间,将会发生异常问题出在将一个字符串复制进一个字符变量指针所指地址。虽然可以正确输出结果,但因为越界进行内在读写而导致程序崩溃。char* s=AAA;printf(%s,s);s0=B;printf(%s,s);有什么错?AAA是字符串常量。s 是指针,指向这个字符串常量,所以声明s 的时候就有问题。cosnt char* s=AAA;然后又因为是常量,所以对是s0的赋值操作是不合法的。学号: 2009121007姓名:白宁本题出自: 题目: 1 用宏定义写出swap( x, y)#define swap(x,y)x=x+y;y=x-y;x=x-y;2 数组 aN,存放了 1 至 N-1 个数,其中某个数重复一次。写一个函数,找出被重复的数字,时间复杂度必须为 o(N)函数原型Int do_duo ( int a,int N )3 一语句实现x 是否为 2 的若干次幂的判断Int i=512 ;Coutboolalpha(i&(i-1)?false:true)endl;4 unsigned int intvert(unsigned int x ,int p, int n

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 演讲稿/致辞

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号