C语言几个小问题的详解

写出下列程序的结果#include<stdio.h>voidmain(){intx=0,y=2;intfunc();y=func(&x,&y);x=func(&x,&y)... 写出下列程序的结果
#include<stdio.h>
void main()
{ int x=0,y=2;
int func();
y=func(&x,&y);
x=func(&x,&y);
printf(“%d,%d\n”,x,y);
}

int func(int *a,int *b){
if(*a>*b) (*a)-=*b;
else (*a)--;
return ((*a)+(*b));
}

#include<stdio.h>
void main()
{ int f(int);
int x=1,k;
for(k=0;k<=3;k++)
printf("%4d",f(x));
}
int f(int x)
{ static int z=3,y=0;
y++;
z++;
return(x+y+z);
}

int f(int x)
{ int p;
if(x= =0||x= =1)
return(3);
p=x-f(x-2);
return(p);
}
void main ( )
{ printf(“%d\n”,f(9)); }

#include <stdio.h>
void main()
{ void increment(void);
increment();
increment();
increment();
}
void increment(void)
{ static int x=0;
x++;
printf("%d\n",x);
}
一共4个题,都是求结果的,求详解。。谢谢
展开
 我来答
q86456378q
推荐于2017-09-01 · 超过34用户采纳过TA的回答
知道答主
回答量:102
采纳率:100%
帮助的人:62.6万
展开全部
#include<stdio.h>
int func(int *a,int *b);
void main()

 int x=0,y=2;
// int func();
//这里不规范 
 y=func(&x,&y);
 x=func(&x,&y);
 printf("%d,%d\n",x,y);
}
int func(int *a,int *b)
{
 if(*a>*b) 
  (*a)-=*b;
 else (*a)--;
 return ((*a)+(*b));
}结果-1,1
调用func(int *a,int *b)
a指向x的地址,b指向y的地址,即*a = x,*b = y;第一次调用后x = -1,y = 1;
第一次调用后x = -1,y = 1;


#include<stdio.h>
void main()
{ int f(int); 
int x=1,k;
  for(k=0;k<=3;k++)
    printf("%4d",f(x));
 }
 int  f(int x)
 { static int z=3,y=0;
   y++;
   z++;
   return(x+y+z);
 }结果6 8 10   局部static,函数调用后其存储空间不空释放 
 
#include<stdio.h>
int f(int x)

 int p;
 if(x==0||x==1) 
 return(3);
 p=x-f(x-2);
 return(p);

void main()

 printf("%d\n",f(9)); 

//结果为7
//p = 9 -f(7) = 9 - (7 - f(5)) = 9 - (7 - (5 - f(3))) 

//= 9 - (7 - (5 - (3 - f(1)))) = 9 - (7 - (5 - (3 - 3)) = 7

// int f(int x)
//是一个递归掉用函数,调用到直到能计算出f(3)的值

 #include <stdio.h>
void main()
{  
 void  increment(void);    
 increment();    
 increment();    
 increment();
}
void increment(void)
{  
 static int x=0;    
 x++;    
 printf("%d\n",x);
}结果为 1 2 3

//还是一个局部静态变量的问题

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式