柠檬试题库
search
首页 计算机 公务员 驾照 关于

若有以下程序 #include int *f(int *s, int *t) { int k; if (*s < *t) { k = *s; *s=*t; *t=k; } 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,3,3,5,5
  • B.3,5,5,3,5
  • C.3,5,3,5,5
  • D.5,3,5,3,5
热度🔥668
参考答案:D
解析:

【解析】在主函数中分别给整型变量i、j和指针型变量p、q赋初值,并声明指针变量r;调用f函数,并将实参变量p和q的值传递给形参变量s和t,并且f函数是指针型函数,即函数的返回值将是一个地址。在f函数中,如果条件成立,则将指针变量s和t的值互换,并且将指针s的地址返回主函数。最后输出i, j, *p, *q, *r的值,即5,3,5,3,5。因此D选项正确。
复制题目向AI提问