填空题 以下程序完成两个长正整数的加法运算并输出计算结果。函数add模拟手工加法运算的过程,将a和b指向的数组中存储的两个以字符串形式表示的n位正整数相加,并将运算结果以字符串形式保存到c指向的数组中。main函数中pl和p2数组分别存放被加数字符串和加数字符串,p3数组存放运算结果字符串。若p1中的字符串为"1000000001"、p2中的字符串为"9000000009",调用add函数后p3得到的是以字符串表示的这两个整数相加的结果"10000000010"。试完善程序以达到要求的功能。 #include "stdio.h" #include "string.h" void add(char a[],char b[],char c[],__(23) 1) {int i,k; c[n]='/0';k=0; for(i=n-1;i>=0;i--) {c[i]=(a[i]-'O')+(b[i]-'0')+k; k= 2(24) 3; c[i]=c[i]%10+'0'; } if(k) {for(i=n+1;i>O;i--) c[i]= 4(25) 5; c[i]=k+'0'; } } void main6 {char p1[80]="1000000001",pz[80]="9000000009",p3[80]; int i,x=strlen(p1),y=strlen(p2); if(x=0;i--) {p1[i+y-x]=p1[i];p1[i]='0';} 7(26) 8; } if(x>y) for(i=y;i>=0;i--) {p2[i+x-y]=p2[i];p2[i]='0';} add(p1,p2,p3,x); puts(p3); }
  • 1、
【正确答案】 1、(23)int n (24)c[i]/10 (25)c[i-1] (26)x=y    
【答案解析】