运行下列程序后,输出结果是()
int d=1:
f(int *p)
{int d=5;printf("%d,",d+=(*p)++);}
main()
{int a=3;
f(&a);
printf("%d\n",d+=a++);
}
A、8,4
B、8,5
C、9,4
D、9,6
【正确答案】:B
【题目解析】:d是一个全局变量,但是在函数F中,重新定义,所以在F中d只能怎么为一个局部变量。所以d在函数中输出的应该是d=5+3=8;因为*p是后加加,所以在这里(*p)++的值是3,但*p的值却是4,又因为p指向的是a的地址,所以此时的a=4.则在主程序中d=1+4=5
运行下列程序后,输出结果是()int d=1:f(int *p){int d=5;printf("%d,",d+=(*p)++)
- 2024-08-04 11:06:06
- 高级语言程序设计(一)(00342)