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个题,都是求结果的,求详解。。谢谢 展开
#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个题,都是求结果的,求详解。。谢谢 展开
1个回答
展开全部
#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
//还是一个局部静态变量的问题
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询