首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序 #include <stdio.h> #include <string.h> main( ) { char a[] = "TEXT", *b = "++", c[3] = "1"; printf("%d,%d,", str
有以下程序 #include <stdio.h> #include <string.h> main( ) { char a[] = "TEXT", *b = "++", c[3] = "1"; printf("%d,%d,", str
admin
2021-06-15
51
问题
有以下程序
#include <stdio.h>
#include <string.h>
main( )
{ char a[] = "TEXT", *b = "++", c[3] = "1";
printf("%d,%d,", strlen(a), sizeof(a));
printf("%d,%d,", strlen(b), sizeof(b));
printf("%d,%d,\n", strlen(c), sizeof(c));
}
程序运行后的输出结果是
选项
A、4,5,2,4,1,3,
B、4,4,2,2,1,1,
C、5,5,3,3,2,2,
D、4,4,2,2,1,3
答案
A
解析
sizeof( )是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。
strlen(*char)是函数,要在运行时才能计算。参数必须是字符型指针(char*)。当数组名作为参数传入时,实际上数组就退化成指针了。它的功能是:返回字符串的长度。该字符串可能是自己定义的,也可能是内存中随机的,该函数实际完成的功能是从代表该字符串的第一个地址开始遍历,直到遇到结束符NULL,返回的长度大小不包括NULL。sizeof(a)求数组a所占空间的大小,包括字符串最后的'\0',所以sizeof(a)=5,strlen()遇到'\0'就结束,strlen(a)=4。strlen(b)是指针指向的字符串长度,sizeof(b)是指针的大小。strlen(c)是字符串的长度,sizeof(c)是数组的长度。因此,输出4,5,2,4,1,3。故答案为A选项
转载请注明原文地址:https://kaotiyun.com/show/wrtp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若要求定义具有10个int型元素的一维数组a,则以下定义语句中错误的是
已知:intc[3][4];,则对数组元素引用正确的是()。
某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是
下列叙述中错误的是
若有语句:char*line[5];,以下叙述中正确的是
有以下程序main(){inta=1,b=2,c=3,d=0;if(a==1&&b++==2)if(b!=2||c--!=3)printf("%d,%d,%d\n",a,b,c);els
有以下程序#includeintfun(int(*s)[4],intn,intk){intm,i;m=s[0][k];for(i=1;i<n;i++)if(s[i][k]>m)m=s[i][k];ret
下列关于C语言文件的叙述中正确的是
下面不属于软件设计阶段任务的是()。
下面不属于需求分析阶段任务的是( )。
随机试题
甲和乙同为药品批发企业,其所持有的《药品经营许可证》载明的经营范图为麻醉药品、精神药品、医疗用毒性药品、化学原料药及其制剂、杭生素原料药及其制剂。甲企业和乙企业经营范围明确具有经营蛋白同化制剂、肽类激素经营资质。丙是药品零售企业,经营方式是零售(连锁),经
LiMing’shandwritingisbetterthan____intheclass.
根据HIV的感染途径,如何采取有效措施预防HIV感染?
凝血因子Ⅱ、Ⅶ、Ⅸ、Ⅹ在肝脏合成依赖于
分批偿还债券是在发行同一种债券的当时,就为不同编号或不同发行对象的债券规定了不同的到期日。()
关于布雷顿森林体系运行特征的说法,错误的是()。
许多古人的名与字有一定联系,“闻名即知其字,闻字即知其名”,如曹操字孟德,孙权字仲谋,诸葛亮字孔明。据此判断,三国人物黄盖的字是()。
某机字长32位,总线数据线宽度是16位,一个总线周期占用4个时钟周期,总线时钟频率为10MHz,则总线带宽是()。
A、 B、 C、 D、 E、 F
WhobroughtsilktoEuropeinthethirteenthcentury?
最新回复
(
0
)