首页 > 试题广场 >

有以下程序,程序的输出结果是?

[单选题]

有以下程序

#include <stdio.h>
void fun(int x, int y, int *c, int *d) {
    *c = x + y;
    *d = x - y;
}

int main() {
    int a = 4, b = 3, c = 0, d = 0;
    fun(a, b, &c, &d);
    printf("%d %d", c, d);
}

程序的输出结果是?

  • 0 0
  • 4 3
  • 3 4
  • 7 1
推荐
主函数中首先初始化整型变量a、b、c、d分别为4、3、0、0。调用函数fun,将实参传递给形参。在fun函数内,﹡c = 7、﹡d = 1。返回主函数,最后输出7和1。因此D选项正确。
编辑于 2015-02-03 17:47:39 回复(2)
指针用作函数参数,可以达到数据双向传递的效果
发表于 2020-03-12 21:25:06 回复(0)
fun函数中c,d按指针传递,所以指针所指地址内容发生了变化
发表于 2016-09-30 11:45:01 回复(0)
改地址
发表于 2017-11-19 21:09:02 回复(0)