网站大量收购独家精品文档,联系QQ:2885784924

编程 - 答案.docx

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
程序设计题(可选)不使用任何库,编写一个函数char*remove(const char* src,char c )参数src为输入的字符串,长度不确定,不为空。参数c为任何可能的字符返回值。Src中删除了所有字符c的字符串。对是否通过动态分配内存的方式返回这个字符串还是使用静态的内存不做限制。char?*remove(const?char?*src,char?c){?char?temp[20];?int?i=0,j=0;?while(src[i]!=\0)?{??if(src[i]!=c)??{???temp[j]=src[i];???i++;????j++;???}???else??{???i++;???}??}??temp[j]=\0;??return?temp;?}?2、如下这段代码是否有错误,如果有,请找出错在哪里写出原因并改正Void f( ){Char str[6]=”12345”,Const char*p1=str,Char *const p2=strP1[0]=’6’P2{0}=’7’P1=NULLP2=NULL}P2{0}=’7’修改为p2[0]Const char*p1=str, 修改为char *p1=str3、调用函数Function2之后,x, y, z三个变量的值是什么?Void Function2(int x,int y, int* z){X=1;Y=2 *z=3;Return;}Int x,y,z=0Function2(x, y, z);答:一个不可知的地址值,2,33.正则表达式 .*\*123\d能与以下哪些选项匹配?CDA.******123B.*****_1234C.******1234D._*1234E._*1234.写出下面的生活场景可以用那种数据结构描述(1)汽车进出加油站加油。堆(2)货车装货、卸货。栈在32位操作系统中A占 12 字节,B占 4 字节struct A{int a;int *bchar c;}union B{int a ;char b;char * c;};注:在访问特定变量的时候经常在特定的内存地址访问,这就是对齐。为了不出错或者优化,在访问特定变量的时候要在特定的内存地址访问,这也是很多时候管对齐叫优化对齐的缘故。32位及其,处理一个字符,实际上的过程是读入寄存器一个机器字长的内存数据,然后只处理指定字符的字节。2.阅读下面的C/C++源代码,请指出哪些代码是错误的或有风险,如果有,请指出错误是什么?const int * foo1(){int a = 10;return a;}const int * foo2(){int a = new int(10);return a;}const int * foo3(){staticint a = 10;return a;}int main (int artc,char* argv[]){const int *p1=foo1();const int *p2=foo2();const int *p3=foo3(); return 0;}答:foo1()没有错误Foo2()新建一个int 对象错误应为 int a = new Interger(10),且return a 返回值应为一个地址Foo3 static 声明一个静态数据第一次初始化后,其内存将一直存在,而返回值要求是一个 int 常量,一旦a值改变,将存在风险。3.调用函数Founction2之后,x,y,z三个变量的值是什么?void Function2(int x,int y,int *z){X = 1;y = 2;*z=3;Return ;}int x,y,z=0;Function2(x,y,z);答:x的值不定 y=2 z=34.(必知必会)在32位X86 平台,下述代码段输出结果是?unsigned int i=1;unsigned int j=2;printf(“0x%08x\n”,i,j);if (i– j 0){Printf(“%d%d”,i,j);}else{printf(“%d=%d”,i,j);}输出为:0xffffffff, 12 5.请指出以下程序中的错误Void test1(){char string [11]; char *str1=”Sinfor test”; strcpy(string,str1); }答:str1占12字节 string占11 字节,在运行strcpy(string,str1)超出了数组string的长度有数组定义int a[2][2]={{1},{2,3}};则a[0][1]的值为(A)A 0; B 1; C 2; D

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档