#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
在 incxy 函数中,x++ 会将全局变量 x 的值增加 1,但是由于 x++ 返回的是递增前的值,所以这个操作实际上不会影响函数的返回值或者任何依赖于 x++ 表达式值的计算。
在提供的代码中,incxy 函数没有返回值,它只是简单地递增了全局变量 x 和 y 的值。所以,x++ 在这个函数中的作用仅仅是将全局变量 x 的值增加 1。
因此,调用 incxy() 函数后,全局变量 x 的值将从 5 变为 6,全局变量 y 的值将从 6 变为 7。但是,由于 main 函数中有一个同名的局部变量 x,它遮蔽了全局变量 x,所以 printf 语句实际上打印的是局部变量 x 的值(即 3)和全局变量 y 的值(即 7)