首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序: #include <iostream> #include <string> using namespace std; int main ( ) { char b1[8] = "abcdefg";
有以下程序: #include <iostream> #include <string> using namespace std; int main ( ) { char b1[8] = "abcdefg";
admin
2010-03-29
47
问题
有以下程序: #include <iostream> #include <string> using namespace std; int main ( ) { char b1[8] = "abcdefg"; char b2[8],*pb=b1+3; while (--pb>=b1) strcpy (b2, Pb) ; cout<<strlen (b2) <<end1; return 0; } 程序运行后的输出结果是( )。
选项
A、8
B、3
C、1
D、7
答案
8
解析
本题考查常用字符串函数的熟悉程度。先来了解程序中的两个字符串函数:
①函数strcpy()的函数原型为:char*strcpy(char*strDest,const char*strSrC) ;,其功能是复制strSrc所有字符到strDest,并返回strDest。
②函数strlen()的函数原型为:size t strlen(const char *string);,其函数功能为:返回string的长度,不包括结束字符’\0’。
再看程序:程序首先定义了一个字符数组b1和一个指针pb,并让指针pb指向数组中的b1[3]。由于在while语句中,每次循环都是把指针pb所指向的字符串复制到数组b2中,所以可以不考虑循环的中间过程,直接分析最后一次循环。循环体中的最后一次循环条件是pb==b1,即指针pb指向了数组元素b1[0],此时把指针pb所指向的字符串复制到数组b2中,就相当于把数组b1中的字符串复制到数组b2中。所以最后数组b2中保存的就是数组b1中的字符串,其长度为7(不包括字符串结束符号’\0’)。
转载请注明原文地址:https://kaotiyun.com/show/9Xjp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
若有以下程序#includeint*f(int*s,int*t){intk:if(*s
有以下程序#include<stdio.h>main(){FILE*f;f=fopen("filea.txt","w");fprintf("abc");fclose(f);}若文本文件filea.txt中原有内容为:hello,则运行以上程序
设有定义:inta,b[10],*c=NULL,*p;,则以下语句错误的是()。
若有以下程序段structst{intn;structst*next;};structsta[3]={5,&a[1],7,&a[2],9,’\0’},*p;p=&a[0];则以下选项中值为6的表达式是
有如下嵌套的if语句if(a<b)if(a<c)k=a;elsek=c;elseif(b<c)k=b;elsek=c;以下选项中与上述if语句等价的语句是
对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为()。
以下选项中,没有编译错误的是()。
有以下说明和定义语句structstudent{intage;charnum[8];};structstudentstu[3]={{20,"200401"},{21,"200402"},{19,"200403"}};structstud
有以下定义:inta;longb;doublex,y;则以下选项中正确的表达式是
随机试题
某电子邮件的左侧菜单如图所示,左侧为展开状态,右侧为折叠状态,单击“文件夹”或者“邮箱服务”前面的三角箭头,可以折叠或展开其相应的内容,在菜单变化的过程中这个页面无刷新,使用ASP.NETajax的()控件可以实现这个功能。
中国古代改造、利用自然的成就有________、________、________。
对著作权的法律适用,被很多国家的立法以及《保护文学艺术作品伯尔尼公约》和《世界版权公约》都采用或倾向采用的原则是()
A.上出息道,下走气街B.熏于肓膜,散于胸腹C.通过三焦,流行全身D.与血同行,环周不休卫气的分布是
可用于蒽醌苷类的分离方法有()
某施工合同经法院确认无效后,应认为该合同从( )日起无效。
在清朝,负责审理中央百官犯罪案的中央司法机关是()。
下列有关网关的概述,最合适的是
使用()方法,可清除列表框中所有的列表项。
Thebasiccausesareunknownalthoughcertainconditionsthatmayleadtocancerhavebeen
最新回复
(
0
)