下列程序的输出结果是( D )。 fun(int a, int b, int c) { c =a

下列程序的输出结果是( D )。
fun(int a, int b, int c)
{ c =a*b; }
main( )
{ int c;
fun(2,3,c);
printf("%d\n",c);
}
A.0 B.1 C.6 D.无法确定 求解释 为什么选D

fun(int a, int b, int c)//望采纳!^_^
{ c =a*b; }//这里将c的结果为a*b,但并未改变外面那个c的值
main( )
{ int c;//这里声明变量c,但并未赋值,也就是说c是一个随机值
fun(2,3,c);//这里将c当参数传递给fun函数,fun函数运算过后,外面c的值并未改变,改变的只是fun函数内部的c
printf("%d\n",c);//所以c的值是一个不确定的值
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-02-27
你好:
因为在fun中的变量c和main中声明的变量c不是同一个变量。
你这段程序好比:
int c;

printf("%d\n",c);

如果吧fun改为fun(int a, int b),并且把c声明为全局变量,并把main中的 int c 去掉,就能输出6了。

所以无法确定。
希望我的回答能帮助到你。本回答被网友采纳
第2个回答  2015-02-27
都忘记了 应该是定义整数类型abc c等于b*a 主函数 整数c fUn(2,3,c);输出c

下列程序的输出结果是( D )。 fun(int a, int b, int c) { c =a
fun(int a, int b, int c)\/\/望采纳!^_^ { c =a*b; }\/\/这里将c的结果为a*b,但并未改变外面那个c的值 main( ){ int c;\/\/这里声明变量c,但并未赋值,也就是说c是一个随机值 fun(2,3,c);\/\/这里将c当参数传递给fun函数,fun函数运算过后,外面c的值并未改变,改变的只是fun...

下列程序的输出结果 fun(int a,int b,int c) {c=a*b;} int main(void...
函数fun执行完成后,丝毫也不会影响到主程序中的变量c的取值,因此答案是D

以下程序的输出结果是【 】。 void fun(int *a, int *b) { int *k...
x y分别是指向a b的指针,fun函数只是交换了x y指向指向的地址,不影响a b的值

...#include"stdio.h" void fun(int a,int b,int c)
14, a=c++,b++;这句话没看太懂;17, c= f(a)\/f(b):c= a*a\/b*b=6*6\/2*2=36;

fun(inta,intb,intc){c=a*b}main(){intc;fun(2,3,c);Printf("%d\\n",c...
include "Stdio.h"int fun(int a,int b,int c){ c=a*b;return c;}int main(void){ int c;c=fun(2,3,c);printf("%d\\n",c);getch();return 0;}

下列程序的输出结果是( )
标准答案是 A

下列程序段的输出结果是:( ). void fun( int *x, int *y) { printf...
下列程序段的输出结果是:( ).void fun( int *x, int *y){ printf("%d %d",*x,*y);*x=3;*y=4;} main( ){ int x=1, y=2;fun(&y, &x);printf("%d %d", x, y);} 应该选择C fun(&y, &x);把y的地址传递给x,把x的地址传递给y,即运行到printf("%d %d",*x,...

...int fun(int x,int y){return (x+y);} main() {int a=1,b=2...
以下程序段的输出结果是 :8

...void fun(int *a,int *b) {int *k; �k=a;a=b;b=k; } main...
a,int* b)的两个参数类型都是int*型.也就是说,参数变量a, b本身的值不会变.当传入两个实参int* x , int* y后.尽管fun里面作了交换操作,这种交换不会影响到原来的x,y变量值.要象这样定义FUN函数,才有意义.void fun(int *a,int *b){int k;�k=*a;*a=*b;*b=k;} ...

...fun(int*a,int*b) {int*c; c=a;a=b;b=c;} main() {int x=3,y=5...
再回到fun函数中,可以看出,a和b的值(x和y的地址)是交换了,也即是说a原本指向x,现在指向了y,对应的b改为指向x。但这只能说a和b间有变化。会影响到x和y吗?也不会。所以fun函数其实对x,y,p,q没有产生任何的影响,当然结果就应该是3,5,3,5了。希望你看过之后可以理解清楚。

相似回答