首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列程序中的函数stropy2()实现字符串两次复制,即将t所指字符串复制两次到s所指内存空间中,合并形成一个新字符串。例如,若t所指字符串为:efgh,调用strcpy2后,s所指字符串为:efghefgh。请填空。 #include <stdi
下列程序中的函数stropy2()实现字符串两次复制,即将t所指字符串复制两次到s所指内存空间中,合并形成一个新字符串。例如,若t所指字符串为:efgh,调用strcpy2后,s所指字符串为:efghefgh。请填空。 #include <stdi
admin
2013-02-23
39
问题
下列程序中的函数stropy2()实现字符串两次复制,即将t所指字符串复制两次到s所指内存空间中,合并形成一个新字符串。例如,若t所指字符串为:efgh,调用strcpy2后,s所指字符串为:efghefgh。请填空。
#include <stdio.h>
#include <string.h>
void strcpy2(char *s,char *t)
{ char *p=t;
while(*s++=*t++);
s=【 】;
while(【 】=*p++);
}
main()
{ char str1[100]="abed",str2[]="efgh";
strcpy2(str1,str2); printf("%s\n",str1);
}
选项
答案
s-1或--s或s-- *s++
解析
在函数。strcpy2()中,首先将指针t保存到指针p中,然后进入第1个while()循环,其循环条件为*s++=*t++,其中“*”和“++”运算符的优先级相同,但他们的结合性为从右至左,而“=”运算符优先级比较低,所以原表达式等价于(*s++)=(*(t++)),即将t当前所指内容复制到s当前所指地址中,然后让s和t同时往后移动一位,整个表达式返回的是复制给s的值。所以,当t所指内容是字符串结束符’\0’,时,while循环结束,原先t所指的整个字符串也就复制到s所指的地址中去了。但是,while循环最后一次判断也会让s和t往后移动一位,即此时s指向了字符串结束符’\0’的后一位。所以第2次复制字符串之前,应先将s指针往回移动一位,故前一空应该填入s-1或其他等价形式。接下来的while循环实现第二次复制,照抄第1次的while循环就行,故后一空应填入*s++。
转载请注明原文地址:https://kaotiyun.com/show/mePp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
设i是int型变量,f是float型变量,用下面的语句给这2个变量输入值。为了将,100和765.12分别赋给i和f,则正确的输入为______。scanf("i=%d,f=%f”,&i,&f);
下面程序的运行结果是【】。voidswap(int*a,int*b){int*tp;t=a;a=b;b=t;}main(){intx=3,y=5,*p=&x,*q=&
有以下程序:main(){intn=0,m=1,x=2;if(!n)x-=1;if(m)x-=2;if(x)x-=3;printf("%d\n",x);}
数据的存储结构是指
在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是______。
下列程序的功能是:求出ss所指字符串中指定字符的个数,并返回此值。例如,若输入字符串123412132,指定字符1,则输出3。请填空。#include<stdio.h)#deftneM81intfun(char*s
用高级语言编写的程序称为【】程序,它可以通过解释程序翻译一句执行一句的方式执行,也可以通过编译程序一次翻译产生目标程序,然后执行。
假设线性表的长度为n,则在最坏情况下,冒泡排序需要的比较次数为【】。
字符‘0’的ASCⅡ码的十进制数为48,且数组的第0个元素在低位,则以下程序的输出结果是______。#include<stdio.h>main(){union{inti[2];longk;charc[4];}r,*s=&
随机试题
甲公司2011年度的财务报告于2012年3月31日批准报出。(1)2012年1月1日至3月31日之间发现2011年下列差错:①甲公司自行建造的办公楼已于2011年6月30日达到预定可使用状态并投入使川。甲公司未按规定在6月30日办理竣工决算及结
Youhavestudiedhard,andthedayhas【21】comewhenyoumustwriteyourexam.Trytoarriveafewminutesbeforethe【22】starts.
A.痈B.疖C.丹毒D.淋巴管炎E.急性蜂窝织炎相邻多个毛囊及其所属皮肤脂腺的急性化脓性感染是
女性,45岁,明显腹胀,伴呼吸困难,不能平卧。查体:呼吸24次/分,心率110次/分,双肺未闻啰音,腹部膨隆明显,液波震颤(+),无压痛,肝未触及,脾左肋下5.0cm。应选用下列哪项治疗最为适宜
A.痰少难咳B.痰多易咳C.咳痰黄稠D.咳痰稀白E.痰多泡沫易咳燥邪犯肺证的咳痰特征是
以下对于《法国民法典》的说法不正确的是:
实施雷达管制必须有()设备的支持。
下列说法中,( )是正确的。
公共政策的效果是指政策执行后对客体及环境所产生的影响,评估公共政策时,必须分析不同层面的政策效果。一般而言,政策效果主要包括()。
删除触发器tri—Sno的正确命令是——。
最新回复
(
0
)