选择题   若有以下程序
    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    typedef struet stu{
    char *name, gender;
    int score;
    } STU;
    void f(char *p)
    {
    p=(char *)malloc(10);
    strcpy(p, 'Qian');
    }
    main()
    {
    STU a={NULL, 'm', 290}, b;
    a.name=(char *)malloc(10);
    strcpy(a.name, 'Zhao');
    b=a;
    f(b.name);
    b.gender='f'; b.score=350;
    printf('%s, %c, %d,', a.name, a.gender, a.score);
    printf('%s, %c, %d\n', b.name, b.gender, b.score);
    }
    则程序的输出结果是______。
 
【正确答案】 D
【答案解析】f函数在新开辟的空间操作,并没有改变b.name的值,所以答案选择D。