更多“下列程序的输出结果是()。main(){char a[7]"aO\OaO\0";int i,j;i=sizeof(a);j=strlen(a);printf(" ”相关问题
  • 第1题:

    下列程序的输出结果是( )。

    main()

    {chara[7]="a0\0a0\0";int i,j;

    i=sizeof(a);

    j=strlen(a);

    printf("%d %d\n",i,j);

    }

    A.2 2

    B.7 6

    C.7 2

    D.6 2


    正确答案:C
    解析:函数sizeof(a)的功能是求出字符串a中的字符占用存储空间的大小,由于字符数组a有长度为7,所以i=7;函数strlen(a)的功能是:求出字符串a的长度。而每个字符串都以'\0'为字符串的结束标记,所以j的值等于2。

  • 第2题:

    有以下程序main(){ char a[7]="a0\0a0\0"; int i,j; i=sizeof(a); j=strlen(a); printf("%d %d\n",i,j);}程序运行后的输出结果是。A.2 2 B.7 6 C.7 2 D.6 2


    正确答案:C
    题目中需要求出程序的输出值i,j,其中i的值由sizeof决定,j的值由strlen函数决定。
    sizeof是C语言的一种运算符,以字节的形式给出操作数的存储空间的大小。sizeof的操作对象可以是具体的数据类型,也可以是变量。题目中的操作数为数组名,利用sizeof可计算出数组所占用内存的字节数,题目中数组类型为char,大小为7,故该数组占用的内存数为7。
    strlen函数则是计算一段字符串的长度,可以从整个字符串的头部开始计算,也可以从字符串的中间开始计算,当碰到第一个字符串结束符“\0”,则停止计算,返回当前的计算值。题目中在前两个字符之后就出现了结束符“\0”,故strlen函数的值为2。

  • 第3题:

    有以下程序 main() { char a[7]="a0\0a0\0";int i,j; i=sizeof(a);j=strlen(a); printf("%d%d\n",i,j); } 程序运行后的输出结果是______。

    A.2 2

    B.7 6

    C.7 2

    D.6 2


    正确答案:C

  • 第4题:

    下列程序的输出结果是( )。 main() { char a[7]="a0\0a0\0";int i,j; i=sizeof(a); j=strlen(a); printf("%d %d\n",i,j); }

    A.2 2

    B.7 6

    C.7 2

    D.6 2


    正确答案:C
    解析:函数slzeof(a)的功能是求出字符串a中的字符占用存储空间的大小,由于字符数组a有长度为7,所以i=7;函数strlen(a)的功能是:求出字符串a的长度。而每个字符串都以'\0'为字符串的结束标记,所以j的值等于2。

  • 第5题:

    有以下程序 main ( ) { char a[7]="a0\0a0\0"; int i,j; i=sizeof(a); j=strlen(a); printf ( " %d %d\n",i, j); } 程序运行后的输出结果是

    A.2 2

    B.7 6

    C.7 2

    D.6 2


    正确答案:C
    解析:本题主要考查的是C语言中的数组长度和字符串长度。数组长度指的是一个数组所占内存空间的字节数,数组长度可以通过sizeof(数组名>)来求得;字符串长度是指从指定内存地址开始直到碰到第一个'\0'字符为止所经过的字符数(不包括'\0'字符),字符串长度可以通过字符串函数strlen(字符串首地址值>)来求得。所以本题程序运行后,变量i中是数组a的长度7,变量j中是数组a中第一个'\0'字符之前的字符数2:选项C符合题意。