c语言简单问题,请大家解答

img

为哈我输出为0呢


#include 

int main()
{
    int A[10] = {'\0'};
    int B[10] = {'\0'};
    int i;
    int DA;
    int DB;
    int Pa = 0, Pb = 0;
    scanf_s("%s", A, 10);
    scanf_s("%d", &DA);
    scanf_s("%s", B, 10);
    scanf_s("%d", &DB);
    int A_len = sizeof(A)/sizeof(A[0]);
    int B_len =sizeof(B)/sizeof(B[0]);
    
    int num1 = 0, num2 = 0;
    for (i = 0; i < A_len; i++)
    {
        if (A[i] == DA)
            num1++;
    }
    for (i = 0; i < B_len; i++)
    {
        if (B[i] == DB)
            num2++;
    }
    
    for (i = 0; i < num1; i++)
    {
        Pa=Pa*10+DA ;
    }
    for (i = 0; i < num2; i++)
    {
        Pb =Pb*10+DB ;
    }
    printf("%d", Pa + Pb);

    return 0;
}

  • A 和 B 改成 字符数组,参考如下:

#include <stdio.h>
 
int main()
{
    char A[11] = {'\0'};
    char B[11] = {'\0'};
    int i;
    int DA;
    int DB;
    int Pa = 0, Pb = 0;
    scanf("%s", A);
    scanf_s("%d", &DA);
    scanf("%s", B);
    scanf_s("%d", &DB);

    int A_len = sizeof(A)/sizeof(A[0]);
    int B_len =sizeof(B)/sizeof(B[0]);
    
    int num1 = 0, num2 = 0;
    for (i = 0; i < A_len; i++)
    {
        if (A[i] - '0' == DA)
            num1++;
    }
    for (i = 0; i < B_len; i++)
    {
        if (B[i] - '0' == DB)
            num2++;
    }
    
    for (i = 0; i < num1; i++)
    {
        Pa=Pa*10+DA ;
    }
    for (i = 0; i < num2; i++)
    {
        Pb =Pb*10+DB ;
    }
    printf("%d", Pa + Pb);
 
    return 0;
}
不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^