有以下程序 #include <stdio.h> int *f(int *s,int *t) { if (*s < *t) *s=*t; return s; } main() { int i=3, j=5, *p=&i, *q=&j, *

admin2021-04-28  26

问题 有以下程序
#include <stdio.h>
int  *f(int *s,int *t)
{  if (*s < *t)
   *s=*t;
   return s;
}
main()
{  int i=3, j=5, *p=&i, *q=&j, *r;  
   r=f(p,q);  
   printf("%d,%d,%d,%d,%d\n", i, j, *p, *q, *r);
}
程序的运行结果是

选项 A、5,5,5,5,5
B、3,5,5,5,5
C、5,3,3,3,5
D、3,5,3,5,5

答案A

解析 程序执行过程为:p指向i,q指向j,调用函数f,将i与j地址传递给s与t,判断i是否小于j,成立则将j=5赋值给i,则i=5,返回指向i的指针并赋给r,则r指向i,最后输出5,5,5,5,5,A选项正确。
转载请注明原文地址:https://kaotiyun.com/show/qUtp777K
0

最新回复(0)