首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列程序中的函数stropy2()实现字符串两次复制,即将t所指字符串复制两次到s所指内存空间中,合并形成一个新字符串。例如,若t所指字符串为:efgh,调用strcpy2后,s所指字符串为:efghefgh。请填空。 #include <stdi
下列程序中的函数stropy2()实现字符串两次复制,即将t所指字符串复制两次到s所指内存空间中,合并形成一个新字符串。例如,若t所指字符串为:efgh,调用strcpy2后,s所指字符串为:efghefgh。请填空。 #include <stdi
admin
2013-02-23
31
问题
下列程序中的函数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全国计算机二级
相关试题推荐
已定义ch为字符型变量,以下赋值语句中错误的是()。
有以下程序:main(){intk=4,n=0;for(;n<k;){n++;if(n%!=0)continue;k--;}prin
设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是
若有说明语句:inta,b,c,*d=&c;,则能正确从键盘读入3个整数分别赋给变量a、b、c的语句是()。
在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是______。
若在定义语句:inta,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是()。
对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是()。
以下函数sstrcat的功能是实现字符串的连接,即将t所指字符串复制到s所指字符串的尾部。例如:,所指字符串为abed,t所指字符串为efgh,调用函数sstrcat后s所指字符串为abcdefgh。请填空。#inehde<stdio.h>
在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是______。
注释说明了程序的功能,它分为【】注释和功能性注释。
随机试题
吸气性呼吸困难表现为
下列有关外币交易的会计处理中,正确的有()。
某音乐茶座门票收入1万元,台位费、点歌费等收入5万元,茶水、烟酒、饮料收入12万元;发生工资性支出1.8万元,水电费以及购买烟酒等支出3.6万元。已知当地娱乐业适用营业税税率为15%。该音乐茶座3月份应缴纳的营业税税额为()万元。
正常情况下,每个月依照法定程序延长的工作时间不能超过()。(2008年5月三级真题)
对于三网融合。请谈谈你的看法。
对利率反应最敏感的是()。
ThebookLoveandItsPlaceinNatureobservedthatwithoutlove,childrentendtodieAndAshleyMontagu,notedBritish—bornanth
注意:下面出现的“考生文件夹”均为c:\wexam\25160001。在考生文件夹下有工程文件sjt5.vbp及窗体文件sjt5.frm,该程序是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即’号),但不能修改其他部分。存盘时不
利用菜单编辑器在窗体中新建一个名称为mnuOpen的弹出式菜单,其中含有若干个菜单项,并编写如下事件过程:PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingl
A、UniversityofFloridaisNo.1onthelist.B、OhioUniversityisonthebottomofthelist.C、Alcoholabuseiscommoninparty
最新回复
(
0
)