有以下程序: #include #include main() { char name[9]="c##line"; char* str=name; pIinl]f("%d,%d,%d,%d\n",si

admin2019-01-11  21

问题 有以下程序:
    #include
    #include
    main()
    {
    char name[9]="c##line";
    char* str=name;
    pIinl]f("%d,%d,%d,%d\n",sizeof(name),strlen(name),sizeof(str),strlen(str));
    }
    程序运行后的输出结果是(    )。

选项 A、9,7,4,7
B、8,6,9,6
C、8,6,3,6
D、10,8,5,8

答案A

解析 由于nalne是一个长度为9的一维数组,故在内存中占用9字节长度,而其中字符串“c##1ine”只有7个字符,strlen()函数返回的是该字符串的长度,不包含结束符,str是一个指针变量,占用4字节长度,但是由于name首地址赋给了str指针变量,在调用strlen()函数时,返回的是指针对应地址单元的字符串的长度7,因此答案为A选项。
转载请注明原文地址:https://kaotiyun.com/show/uZxp777K
0

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