选择题   以下程序的输出结果是______。
    #include <stdio.h>
    void prt (int *x,int *y,int *z)
    {printf('%d,%d,%d\n',++*x,++*y,*(z++));}
    main()
    {int a=10,b=40,c=20;
    prt (&a,&b,&c);
    prt (&a,&b,&c);}
 
【正确答案】 B
【答案解析】本题考查的是函数参数的传递及自加运算符。主函数中第一次调用函数“prt(&a,&b,&c);”,此函数中的输出语句“printf('%d,%d,%d\n',++*x,++*y,*(z++));”使得a和b的值均加1,而“*(z++)”由于先执行“z++”所以c的值不变;第二次调用函数“prt(&a,&b,&c);”使得a和b在上一次的基础上再各自加1(因为形参和实参进行的是地址传递),而c的值仍不变。