//explain below for loop what is actually being done in this loop//
for(i=k-1, j=a=f=0; i>=0; i--)
{
b = (a*10 + temp[i]-'0') / 2; //explain
a = (a*10 + temp[i]-'0') % 2;//explain
if(b) f = 1;//explain
if(f) klaudia[j++] = b+'0';//explain
}
if(!j) j++;//explain
klaudia[j] = 0;//explain
for(i=len1-1, j=len2-1, k=c=0; i>=0; i--, j--, k++)
{
a = total[i]-'0';//explain
b = j>=0? diff[j]-'0' : 0;//explain
if(a < b+c)
{
temp[k] = (10+a-b-c) + '0';//explain
c = 1;//explain }
else
{
temp[k] = a-b-c + '0';//explain
c = 0;//explain
}
}
temp[k] = 0;//explain
解释在上面的两个 for 循环中正在做什么,为什么我们要除以和调制 2。 加 0 的意义是什么
第一个循环是将 temp[] 中表示为字符串的十进制数除以 2。/2 实际上是将一个数字除以 2,%2 是将余数应用于下一个数字 - 这就是为什么它随后乘以 10。
"0"的加法和减法用于将原始数字与其 ASCII 表示形式之间的个位数转换为字符。