单选题有如下程序:#include int convert(int *data){  return (*data)++; }main(){ int data=56;  convert(&data);  printf("%d,",data);  data = convert(&data);  printf("%d,",data);  printf(""); }程序运行后的输出结果是(  )。A 56,57,B 57,58,C 57,57,D 55,57,

题目
单选题
有如下程序:#include int convert(int *data){  return (*data)++; }main(){ int data=56;  convert(&data);  printf("%d,",data);  data = convert(&data);  printf("%d,",data);  printf(""); }程序运行后的输出结果是(  )。
A

56,57,

B

57,58,

C

57,57,

D

55,57,


相似考题
参考答案和解析
正确答案: D
解析:
本题程序执行过程为:调用convert函数,将变量data地址传入函数,返回当前指针指向的变量值56,之后此变量加一,data=57。输出data=57。再次调用函数,返回当前指针指向的变量值57,然后此地址内存中变量加一,data=58,然后将返回值57赋给变量data=57,最后输出data=57。答案选择C选项。