C语言习题求助。
1. 有以下程序int f(int a)
{ int b=0;
static c=3;
b=b+1;c=c+1;
return(a+b+c);
}
void main()
{ int a=2,i;
for(i=0;i<3;i++) printf(“%2d”,f(a));
}
执行后输出的结果是
22. 有以下程序
void f(int y,int *x)
{ y=y+*x; *x=*x+y;}
void main( )
{ int x=2,y=4;
f(y,&x);
printf(“x=%d,y=%d\n”,x,y);
}
执行后输出的结果是
3. 有以下程序
#define LETTER 1
#include <stdio.h>
void main()
{ char str[20]="C Language", c;
int i=0;
while((c=str[i])!='\0')
{ i++;
#ifdef LETTER
if(c>='a' &&c<'z')
c=c+1;
else if(c=='z') c=c-25;
#else
if(c>='B'&&c<='Z')
c=c-1;
else if(c=='A') c=c+25;
#endif
printf("%c",c); } }
执行后输出的结果是 。
4. 有以下程序
void fun(int *a,int i,int j)
{ int t;
if(i<j)
{ t=a[i];a[i]=a[j];a[j]=t;
i++; j--;
for(i=0;i<4;i++) printf("%2d",a[i]);
fun(a,i,j);
}
}
void main()
{ int x[]={2,6,1,8},i;
fun(x,0,3);
for(i=0;i<4;i++) printf("%2d",x[i]);
printf("\n");
}
执行后输出的结果是 。
求以上1,2,3题的详细解答,第四题弱弱地问问为什么答案为86128612,而我自己做出来的是8612,哪里没对?谢谢大虾解答!谢谢!!!!!!!!!!!