21

不定项选择题 21 /101

请指出以下程序的错误:
void GetMemory(char **p, int num){
    if(NULL == p && num <= 0)//1
        return;
    *p = (char*)malloc(num); 
    return;
}
void main(void){
    char *str = NULL;
    GetMemory(&str, 80); //2
    if(NULL != str){
        strcpy(&str, "hello"); //3
        printf(str);
    }
    return true; //4
}

参考答案

1
2
3
4