C - Adding the numbers in 2 strings together if a different length

前端 未结 5 1890
粉色の甜心
粉色の甜心 2020-12-22 09:10

If I had two strings:

a = \"1234\"
b = \"4321\"

I could add the two numbers together like this:

for(i=0; i

        
5条回答
  •  旧时难觅i
    2020-12-22 09:28

    int getcharval(const char *s, int idx) {
        if (idx < strlen(s))
            return s[strlen(s) - idx - 1] - 48; 
        return 0;
    }
    
    void add() {
        const char *a = "1234";
        const char *b = "13210";
        char answer[256];
        int i, wa=strlen(a), wb=strlen(b), width, sum, carry;
        width = wa > wb ? wa : wb; 
        for(i=0; i 9){ 
                carry = 1;
                sum-=10;
            }
            answer[i] = sum+48;
        }   
        if(carry) answer[i++] = carry+48;
        answer[i]= 0;
        for (i = 0; i < strlen(answer) / 2; i++) {
            char t = answer[i];
            answer[i] = answer[strlen(answer) - i - 1]; 
            answer[strlen(answer) - i - 1] = t;
        }   
    
        printf("%s\n", answer);
    }
    

提交回复
热议问题