唐僧爱吃唐僧肉 2017-05-06 00:53 采纳率: 16.7%
浏览 2240
已采纳

妹子求大神指教,谢谢!

单选(1分)
下面程序希望得到的运行结果如下:
Total string numbers = 3
How are you
但是现在代码存在错误,找出下面选项中修改正确的语句
#include 
void  Print(char *arr[], int len);  
int main()
{
    char *pArray[] = {"How","are","you"};
    int   num = sizeof(pArray) / sizeof(char);  
    printf("Total string numbers = %d\n", num); 
    Print(pArray, num);
    return 0;
}
 
void  Print(char *arr[], int len)
{
    int  i;    
    for (i=0; i<len; i++)
    {
        printf("%s ", arr[i]);
    }
    printf("\n");
}
得分/总分

A.
第5行应该是:  char pArray[] = {"How","are","you"};

B.
第6行应该是:  int   num = sizeof(pArray/char *);  

C.
第6行应该是:  int   num = sizeof(pArray) / sizeof(char*);

D.
第12行应该是:  void  Print(char arr[], int len)

  • 写回答

2条回答 默认 最新

  • 战在春秋 2017-05-06 01:07
    关注

    答案是C

     char *pArray[] = {"How","are","you"};
    

    定义了一个数组,数组元素的数据类型是char*

    所以计算数组大小的时候,应该除以sizeof(char*),而不是sizeof(char)。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?