首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列程序中的函数stropy2()实现字符串两次复制,即将t所指字符串复制两次到s所指内存空间中,合并形成一个新字符串。例如,若t所指字符串为:efgh,调用strcpy2后,s所指字符串为:efghefgh。请填空。 #include <stdi
下列程序中的函数stropy2()实现字符串两次复制,即将t所指字符串复制两次到s所指内存空间中,合并形成一个新字符串。例如,若t所指字符串为:efgh,调用strcpy2后,s所指字符串为:efghefgh。请填空。 #include <stdi
admin
2013-02-23
30
问题
下列程序中的函数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全国计算机二级
相关试题推荐
有以下程序:main(){intn=0,m=1,x=2;if(!n)x-=1;if(m)x-=2;if(x)x-=3;printf("%d\n",x);}
有以下程序:main(){chara[]="abcdefg",b[10]="abedefg";printf("%d%d\n",sizeof(A),sizeof(B));}执行后输出结果是()。
下列程序的输出结果是16.00,请填空。#include<stdio.h>main(){inta=9,b=2;floatx=【】,y=1.1,z;z=a/2+b*x/y+1
以下程序的输出结果是()。#include<stdio.h>main(){inta=-1,b=1,k;if((++a<0)&&!(b--<=0))printf("%d%d\n",a,b);
若已定义:inta[9],*p=a;并在以后的语句中未改变p的值,下列选项中不能表示a[1]地址的表达式是()。
在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是______。
关系模型的完整性规则是对关系的某种约束条件,包括实体完整性、【】和自定义完整性。
以下函数sstrcat的功能是实现字符串的连接,即将t所指字符串复制到s所指字符串的尾部。例如:,所指字符串为abed,t所指字符串为efgh,调用函数sstrcat后s所指字符串为abcdefgh。请填空。#inehde<stdio.h>
在C语言中,char型数据在内存中的存储形式是()。
随机试题
下列不属于公共政策产生的初始条件的是
为获得条带清晰的DNA电泳图谱,一般DNA用量为
衡量和表示国债规模的指标有()。
施工单位不按照工程设计图纸或者施工技术标准施工,造成工程质量一般事故的,应()。
关于矿业工程技术档案的管理工作,以下观点正确的是()。
某股份有限公司对外币业务采用业务发生当日的市场汇率进行折算,按月计算汇兑损益。2018年7月1日和6日分别进口境外商品两批,价款分别为400万美元和280万美元,货款尚未支付,7月1日和7月6日的市场汇率分别为1美元=7.27元人民币和1美元=7.25元人
社会主义的本质是解放生产力______,消灭剥削______,最终达到______。
在电力系统分析和计算中,功率和阻抗一般分别是指()。
∫(e2xcosx)dx=________.
Theword"winner"and"loser"havemanymeanings.Whenwerefertoapersonasawinner,wedonotmeanonewhomakessomeoneel
最新回复
(
0
)