选择题   有以下程序:
    #include<stdio.h>
    int a=5;
    int func(int a)
    {  int b=1;
    static int c=5;
    a++; b++; ++c;
    return(a*b*c);
    }
    main()
    {int k,a=4;
    for(k=0;k<3;k++)
    printf('%d,',func(a));
    }
    程序执行后的输出结果是______。
 
【正确答案】 D
【答案解析】首先程序中有一个全局变量a,初值为5,在main()函数中,局部变量a屏蔽全局变量a,同样,在func()函数中,形参a也屏蔽全局变量a;另外func()函数中,c是静态局部变量,只会初始化一次,后续使用时,c的值是上一次调用函数后c的值。综上所述,main()函数中:当k=0时,实参a=4,func()函数的形参a=4、b=1、c=5,自增后形参a=5、b=2、c=6,返回值为60,输出60;当k=1时,实参a=4,func()函数的形参a=4、b=1、c=6,自增后形参a=5、b=2、c=7,返回值为70,输出70;当k=2时,实参a=4,func()函数的形参a=4、b=1、c=7,自增后形参a=5、b=2、c=8,返回值为80,输出80。故本题答案为D选项。