C语言简单的一题

来源:百度知道 编辑:UC知道 时间:2024/05/08 23:46:47
有以下程序

#include<stdio.h>

void fun(int *a,int *b)

{ int *c;

c=a;a=b;b=c;

}

main()

{ int x=3,y=5,*p=&x,*q=&y;

fun(p,q); printf("%d,%d,",*p,*q);

fun(&x,&y); printf("%d,%d\n",*p,*q);

}

程序运行后的输出结果是: ( )

A)3,5,5,3 B)3,5,3,5 C)5,3,3,5 D)5,3,5,3

求答案,及最重要的讲解!

http://zhidao.baidu.com/question/114902308.html
这是我以前的回答,,
不会的在线问
这题我回答了第三次了..

在这里用到的是指针 在被调用函数中实参所对应的值是可以被改变的
第一次调用fun函数时x,y互换了,所以输出5,3
同理第二次调用是又互换了,所以就输出3,5。
所以答案是C

A

因为fun(p,q) *p=&x x=3 所以p=3 同理q=5

fun(&x,&y) 执行上面的 &x=*a &y=*b 所以a=5 b=3 所以*p=5 *q=3 所以A

D。

直接写进编译系统。运行出来的是B。

测试了是B

其实fun函数只是内部指针abc被赋了个值乱变,根本没改pq,该多少还多少

不运行一下我也被骗了

一简单编程题C语言的 一超简单的c语言题。。。。。。。。 请教一题C语言的题,很简单 求教一简单的C语言问题 求一简单的C语言程序 一题:C语言函数问题?简单 简单的C语言题 简单的c语言题 简单的C语言 简单的c语言