给定两个字符串A, B将他们分别转成整形,相加后输出。

C语言练习题
给定两个字符串A, B将他们分别转成整形,相加后输出。

#include <stdio.h>
void main()
{
  char a,b;
  int result;
  printf("输入两个字符:\n");
  scanf("%c\n%c",&a,&b);
  result=a-'0'+b-'0';
  printf("结果是:%d\n",result);
}

仅供参考,谢谢!

img

#include<stdio.h>
#include<stdlib.h>
int main()
{
    char a[19], b[19];
    long result;
    printf("输入两个字符串:\n");
    scanf("%18s%18s", a, b);
    result = atol(a) + atol(b);
    printf("结果是:%ld\n", result);
    return 0;
}

供参考:https://blog.csdn.net/xichengfengyulou/article/details/88711943

代码及运行结果如下:

#include <stdio.h>

int str_int(char* str)
{
    int len = strlen(str);    //求字符串长度
    char* cur = str + len - 1; //cur 指向字符串中的最后一个数字
    int ret = 0;
    int tmp = 1;

    while (cur >= str)
    {
        //数字字符0的ASCII码为 48
        ret += (*cur - '0') * tmp;

        //用来控制数字的权重
        tmp *= 10;

        cur--;
    }

    return ret;
}

int main()
{
    char* A = "12345";
    char* B = "54321";

    int num1 = str_int(A);    //str_int 函数返回字符串转成的整形
    int num2 = str_int(B);

    printf("%d + %d = %d\n", num1, num2, num1 + num2);

    return 0;
}

img