📜  门| GATE CS 2012 |第48章

📅  最后修改于: 2021-07-02 17:34:22             🧑  作者: Mango

考虑下面的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/
这个问题的测验