考虑下面的C程序
int a, b, c = 0;
void prtFun (void);
int main ()
{
static int a = 1; /* line 1 */
prtFun();
a += 1;
prtFun();
printf ( "\n %d %d " , a, b) ;
}
void prtFun (void)
{
static int a = 2; /* line 2 */
int b = 1;
a += ++b;
printf (" \n %d %d " , a, b);
}
给定的代码段将产生什么输出?
(一种)
3 1
4 1
4 2
(B)
4 2
6 1
6 1
(C)
4 2
6 2
2 0
(D)
3 1
5 2
5 2
答案: (C)
说明:参见https://www.geeksforgeeks.org/c-language-set-9/
这个问题的测验