搜索
首页 电脑/网络 程序设计 C/C++

C语言 main ( )

  main ( ) { int x = 1 , y = 2 ; int func( ) ; y = func (&x , &y); x = func(&x, &y) ; printf ("x = %d , y = %d \n" , x , y ) ; } func ( int *a, int *b) { if ( *a > *b) ( *a ) -= *b ; else ( *a ) -- ; return ( *a + *b ) ; } A) x = 2 , y = 1 B) x = 1 , y = 3 C) x = 2 , y = 3 D) x = 1 , y = 2 答案是D,求解释及FUNC在程序中什么意思 。
  

全部回答

2008-01-08

0 0
    main ( ) { int x = 1 , y = 2 ; //定义两个变量x,y,并分别赋予初值 int func( ) ; //声明函数 y = func (&x , &y); x = func(&x, &y) ; //调用函数func(),并将返回值赋予x,y,参数是变量x,y的地址。
     printf ("x = %d , y = %d \n" , x , y ) ; //输出x,y。 } func ( int *a, int *b) //函数定义,参数为指针 { if ( *a > *b) //判断传进来的参数大小,实际比较x,y大小 ( *a ) -= *b ; //如果x>y,x=x-y; else ( *a ) -- ; //否则x=x-1 return ( *a + *b ) ; //返回x+y。
     } 当调用y=func(&x,&y)时,因为此时x=1,y=2,所以,执行x=x-1,此时,x=0。返回x+y即是2。此时,x,y的值分别是0,2。 当调用x=func(&x,&y)时,此时,x,y的值分别是0,2,执行x=x-1,x=-1,返回x+y即是2+(-1)=1,此时,x,y 的值分别是,1,2。
    。

2008-01-08

47 0
func()总共调用过2次。 无法解释是什么意思(因为没有意思),总之把参数带入定义,一步一步执行就可以了。

类似问题换一批

热点推荐

热度TOP

相关推荐
加载中...

热点搜索 换一换

电脑/网络
C/C++
硬件
电脑装机
程序设计
互联网
操作系统/系统故障
笔记本电脑
反病毒
百度
软件
程序设计
C/C++
VB
数据库
汇编语言
JAVA相关
VC++
C#/.NET
其他编程语言
C/C++
C/C++
举报
举报原因(必选):
取消确定举报