作业帮 > 综合 > 作业

对于下列程序,正确的是

来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/08/04 09:58:48
对于下列程序,正确的是
void f(int *p)
{
*p = 5;
}
int main(void)
{
int a,*p;
a = 10;
p = &a;
f(p);
printf(“%d”,(*p)++);
return 0;
}
A.5 \x05\x05B.6 \x05\x05C.10\x05\x05 D.11
对于下列程序,正确的是
void f(int *p)
{
*p = 5;
}
int main(void)
{
int a, *p;
a = 10;
p = &a;
f(p);
printf("%d", (*p)++);
return 0;
}
A.5 B.6 C.10 D.11
答案是A
因为这个是按地址调用,所以在子函数f()中已经改变了a的值,而打印时是先输出a的值,之后再对a进行增1操作
你可以在return 0;前加上一句 printf("%d", *p); 就会发现在5的基础上新输出了一个数字6.