C语言编程题求解,代码我看不懂哪位大神解释下这段代码 什么意思请详细些

2024-11-20 06:43:54
推荐回答(4个)
回答1:

#include
#include
#define MAX_LENGTH 100
char* add(char a[], char b[], char r[])
{
char t;
int i,j,k,x,y,c=0;
int lenA = strlen(a), lenB = strlen(b); //lenA是 a输入了多少字符 lenB 是b输入了多少字符
printf("%d %d",lenA,lenB);
for(i=0;i{
x = i y = i if(x+y+c==26) // 如果三个字符的整数值为26
{
r[i]='z';
c=0; //如果得到这结果 for循环退出
}
else if(x+y+c==52) //如果三个字符的整数值为52
{
r[i]='z';
c=1; //for 循环还会执行下去
}
else
{
r[i] = (x+y+c)%26 + 'a' - 1; //把值储存皮纤在r【】中
c = (x+y+c)/26; // x+y+c 是26的整数倍 for循环也停止执行

}
}
r[i] = '\0'; //添加字符串的结束标志

for(j=0,k=i-1;j{
t = r[j];
r[j] = r[k]; //字符串的头尾进行对调
r[k] = t;
}
return r; //输出字符串 r
}
int main()
{
char a[MAX_LENGTH], b[MAX_LENGTH], r[MAX_LENGTH];
unsigned int n;
printf("Please enter n ") ;
scanf("%d",&n);
while(n--)
{
printf("Please enter a b ") ;
scanf("%s%s",a,b);
printf("%s\n\n"和握散,add(a,b,r));
}
return 0;
}

回答2:

int main()
{
char a[MAX_LENGTH], b[MAX_LENGTH], r[MAX_LENGTH];
unsigned int n;
scanf("%d",&n);
while(n--)
{
scanf("%s%s",a,b);
printf("%s\n\n",add(a,b,r));
}
return 0;
}

这一段是主函数梁盯! 前面的是子函桥渣塌数。 你是想知道什么呢敏圆?

回答3:

函数add相当于字符缺扒隐串的加法,字符a为1,z为26,伏厅中间的此察类推,进制为26进制,满1进位,结果存到r数组中

回答4:

0.1112