有如下程序: #include #include main() { char a[]="1234",*b="ABC"; printf("%d,%d,%d,%d\n",strlen(a),sizeof(a),s

admin2019-01-11  32

问题 有如下程序:
    #include
    #include
    main()
    {
    char a[]="1234",*b="ABC";
    printf("%d,%d,%d,%d\n",strlen(a),sizeof(a),strlen(b),sizeof(b));
    }
    程序运行后的输出结果是(    )。

选项 A、4,5,1,3
B、4,3,2,1
C、4,5,3,3
D、4,5,3,4

答案D

解析 当将一个字符串存储到一个字符型数组中时,系统会在其末尾自动加上一个空字符’\0’作为结束符。strlen()函数的返回值是字符串的实际长度,不包括结束符,所以strlen(a)=4,strlen(b)=3。而sizeof()函数的作用是返回一个对象或者类型所占的内存字节数,返回值包括结束符,所以sizeof(a)=5。由于一个指针在内存中占用4个字节,故sizeof(b)=4,答案为D选项。
转载请注明原文地址:https://kaotiyun.com/show/pZxp777K
0

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