有以下程序  #include<stdio.h>  #include<string.h>  main()  { char a[]="TEXT",*b="++",c[3]="1";   printf("%d,%d,",strlen(a),sizeof(

admin2022-10-24  30

问题 有以下程序
 #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是运算符,计算数组、指针、类型、对象、函数等所占的字节大小。strlen(*char)是函数,参数必须是字符型指针(char*)。该函数的功能是:返回字符串的长度,不包括字符串结束标识。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/3Jkp777K
0

相关试题推荐
最新回复(0)