爱问知识人 爱问教育 医院库

C语言 main ( )

首页

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 09:34:57
      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。
      

    1***

    2008-01-08 09:34:57

其他答案

    2008-01-08 09:43:34
  • func()总共调用过2次。
    无法解释是什么意思(因为没有意思),总之把参数带入定义,一步一步执行就可以了。
    

    [***

    2008-01-08 09:43:34

类似问题

换一换
  • C/C++ 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 176-195
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):