A-A+

有以下程序()#include<stdio.h>int a=2;int f(int *A){

2022-08-06 10:42:43 问答库 阅读 178 次

问题详情

有以下程序()
#include<stdio.h>
int a=2;
int f(int *A)
{return(*A)++;}
main()
{int s=0;
{int a=5;
s+=f(&a):
}
s+=f(&a);
printf("%dn",s);
}
执行后输出结果是
A.10
B.9
C.7
D.8

参考答案

正确答案:C
C
[解析]
#include<stdio.h>
int a=2:
int f(int *A)
{return(*A)++;}/*返回值是*A,因为参数传递是地址传递,实参的实际值将被改变*/
main()
{int s=0;
{int a=5;s+=f(&a);}/*此处使用的a是本段"{}"内所定义的变量a*/
s+=f(&a);/*此处使用的a是全局变量a*/
printf("%d\n",s);
}

考点:程序