首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列程序中的函数stropy2()实现字符串两次复制,即将t所指字符串复制两次到s所指内存空间中,合并形成一个新字符串。例如,若t所指字符串为:efgh,调用strcpy2后,s所指字符串为:efghefgh。请填空。 #include <stdi
下列程序中的函数stropy2()实现字符串两次复制,即将t所指字符串复制两次到s所指内存空间中,合并形成一个新字符串。例如,若t所指字符串为:efgh,调用strcpy2后,s所指字符串为:efghefgh。请填空。 #include <stdi
admin
2013-02-23
47
问题
下列程序中的函数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);
有以下定义语句doublea,a;intw;longc;若各变量已正确赋值,则下列选项中正确的表达式是
下面程序的输出结果是()。#include<stdio.h>intm=13;intfun2(intx,inty){intm=3;return(x*y-m);}main(
以下选项中合法的实型常数是()。
在软件维护时,对测试阶段未发现的错误进行测试、诊断、定位、纠错直至回归测试的过程称为【】。
已有定义inta=-2;和输出语句printf("%81x",a);以下正确的叙述是()。
在长度为n的有序线性表中进行二分查找。最坏的情况下,需要的比较次数为【】。
字符(char)型数据在微机内存中的存储形式是______。
已知字符0的ASCⅡ码为十六进制数30,下面程序的输出是______。main(){inti;union{unsignedcharc;unsignedinti[4];}z;z.i[0]=0x39;z
编制一个好的程序,首先要保证它的正确性和可靠性,还应强调良好的编程风格,在书写功能性注释时应考虑
随机试题
张某、方某共同出资,分别设立甲公司和丙公司。2013年3月1日,甲公司与乙公司签订了开发某房地产项目的《合作协议一》,约定如下:“甲公司将丙公司10%的股权转让给乙公司,乙公司在协议签订之日起三日内向甲公司支付首付款4000万元,尾款1000万元在次年3月
公共问题最直接和最重要的提出主体是
以下关于民事诉讼强制执行措施的说法正确的是:
关于裸体井巷的施工质量要求,说法正确的是()。
Manyoilcompaniesarenowmakingalternativeenergy____inanefforttoremaincompetitiveinfutureenergymarkets.
行为治疗模式的理论基础包括()。
甲、乙两地铁路长2000千米,列车从甲行驶到乙的途中停12站(不包括甲、乙),在每站停车5分钟,不计在甲、乙两站的停车时间,行驶全程共用23小时。火车提速10%后,如果停靠车站及停车时间不变,行驶全程共用多少小时?
200世纪90年代以后,中国内地形成了一些跨省区市的经济区域:①长江三角洲和长江沿江地区经济带;②以广州、深圳为中心的珠江三角洲地区经济带;③包括北京、天津、河北、辽宁、山东、山西、内蒙古在内的环渤海地区经济区;④中部地区经济区,包括河南、湖北、湖南、安徽
CertainphrasesonecommonlyhearsamongAmericanscapturetheirdevotiontoindividualism:"Doyourownthing.""Ididitmy
A、Inaboat.B、Inacave.C、Inariver.D、Inatree.B
最新回复
(
0
)