高分悬赏求解析几道c语言题. 50
我知道答案但是不清楚解题过程还望大神们一定帮忙写清楚解析过程!谢谢!1#include<stdio.h>#include<string.h>voidfun(char*w,...
我知道答案 但是不清楚解题过程
还望大神们一定帮忙写清楚解析过程!谢谢!
1
#include <stdio.h>
#include <string.h>
void fun(char *w,int n)
{ char t,*s1,*s2;
s1=w; s2=w+n-1;
while(s1<s2)
{t=*s1++;
*s1=*s2--;
*s2=t;
}
}
main()
{static char p[]="1234567";
fun(p,strlen(p));
printf("%s",p);
}
2
# include<stdio.h>
int fun()
{
static int x=1;
x*=2;return x;
}
main()
{
int i,s=1;
for(i=1;i<=3;i++) s=fun();
printf{"%d\n",s};
}
3
main()
{int a[10]={8,6,4,0,9,1,2,5,7,3}, t,.*k=a,*p,*q;
for(p=a;p<a+10;p++) if(*p<*k) k=p;
for(p=k,q=k;p>=a&&q<a+10;p--,q++)
{t=*p;*p=*q;*q=t;}
for(p=a;p<a+10;p++)
printf(“%d”,*p);
4
int fun(int x[],int n)
{static int sum=0,i;
for(i=0;i<n;i++) sum+=x[i];
return sum;
}
main()
{int a[]={1,2,3,4,5},b[]={6,7,8,9},s=0;
s=fun(a,5)+fun(b,4);printf("%d\n",s);
}
5
假设定义 int i=5 *p a[10] 则下面不符合C语法规则的语句s
A.p=&i; B.p=a+1; C.a++; D.p=&a[9]; 展开
还望大神们一定帮忙写清楚解析过程!谢谢!
1
#include <stdio.h>
#include <string.h>
void fun(char *w,int n)
{ char t,*s1,*s2;
s1=w; s2=w+n-1;
while(s1<s2)
{t=*s1++;
*s1=*s2--;
*s2=t;
}
}
main()
{static char p[]="1234567";
fun(p,strlen(p));
printf("%s",p);
}
2
# include<stdio.h>
int fun()
{
static int x=1;
x*=2;return x;
}
main()
{
int i,s=1;
for(i=1;i<=3;i++) s=fun();
printf{"%d\n",s};
}
3
main()
{int a[10]={8,6,4,0,9,1,2,5,7,3}, t,.*k=a,*p,*q;
for(p=a;p<a+10;p++) if(*p<*k) k=p;
for(p=k,q=k;p>=a&&q<a+10;p--,q++)
{t=*p;*p=*q;*q=t;}
for(p=a;p<a+10;p++)
printf(“%d”,*p);
4
int fun(int x[],int n)
{static int sum=0,i;
for(i=0;i<n;i++) sum+=x[i];
return sum;
}
main()
{int a[]={1,2,3,4,5},b[]={6,7,8,9},s=0;
s=fun(a,5)+fun(b,4);printf("%d\n",s);
}
5
假设定义 int i=5 *p a[10] 则下面不符合C语法规则的语句s
A.p=&i; B.p=a+1; C.a++; D.p=&a[9]; 展开
展开全部
1,fun()的功能是字符串逆序。两个指针分别指向字符串的首尾,交换指针内容。所以输出应该是7654321
2,x为静态变量,不会每次调用 fun()都会初始化,会记录上次的值。调用3次,输出8.
3,for(p=a;p<a+10;p++) if(*p<*k) k=p; //找出最小值,k指向它。也就是0
for(p=k,q=k;p>=a&&q<a+10;p--,q++) //k,p,q都指向0,p向左移动,q向右移动,交换内容。结果应该是2190468573
4,sum是静态变量,只初始化一次。fun(a,5)后,sum=15; fun(b,4),sum=45.所以结果应该是60
2,x为静态变量,不会每次调用 fun()都会初始化,会记录上次的值。调用3次,输出8.
3,for(p=a;p<a+10;p++) if(*p<*k) k=p; //找出最小值,k指向它。也就是0
for(p=k,q=k;p>=a&&q<a+10;p--,q++) //k,p,q都指向0,p向左移动,q向右移动,交换内容。结果应该是2190468573
4,sum是静态变量,只初始化一次。fun(a,5)后,sum=15; fun(b,4),sum=45.所以结果应该是60
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询