一个c语言问题,求解答

执行以下程序,打印输出的内容是:( )

#include <stdio.h> int x=5, y=6;

void incxy( ){ x++; y++;

}

int main( ){

int x=3; incxy( );

printf("%d,%d\n", x,y); return 0;

}

3 7

3,7
在主函数内,局部变量 x= 3,incxy()函数执行完,对全局变量 x=5,y=6 各自增一
所以最后输出:x=3 (局部变量) ,y=7(全局变量)

3,7
调用incxy,

img


全局变量x和y加1
由于主函数里定义了同名变量x,这个x为局部变量,所以输出语句的x是局部变量x = 3

img

4,7吧