选择题   若有以下程序
    #include<stdio.h>
    #include<stdlib.h>
    #include<strinq.h>
    typedef struct 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);
    }
    则程序的输出结果是______。
 
【正确答案】 B
【答案解析】[考点] 预编译处理、动态分配、结构体、位运算和文件 本题考查结构体变量中的引用。a的name为Zhao,b执行函数f(b.name)后b的name并没有改变,还是Zhao。