//problem:翻转字符串中,b2最后多了一串乱码
#include <stdio.h>
#define N 5
int getsum(int a[],int start,int length);
void fanzhuan(char* b,char* b2,int start,int blength);
int main()
{
//数组元素求和
int a[N]={};
int length,sum;
length=sizeof(a)/sizeof(int);
printf("请输入%d个数组元素:",N);
for(int i=0;i<length;i++)
{
scanf("%d",&a[i]);
}
sum=getsum(a,0,length);
printf("%d\n",sum);
//翻转字符串
char b[]={"I love china"};
int blength;
blength=sizeof(b)/sizeof(char)-1;
char b2[blength];
printf("%s\n",b);
fanzhuan(b,b2,0,blength);
printf("%s",b2);
}
int getsum(int a[],int start,int length)
{
if(start==length-1)
return a[start];
return a[start]+getsum(a,start+1,length);
}
void fanzhuan(char* b,char* b2,int start,int blength)
{
b2[blength-1-start]=b[start];
if(start!=blength-1)
fanzhuan(b,b2,start+1,blength);
}
lq2.2数组求和及翻转字符串
最新推荐文章于 2024-09-12 19:02:20 发布