sinat_33179384
sinat_33179384
采纳率0%
2015-11-28 16:30

C语言 怎么把一个ASCII码的数字在运算中用原来的字表示

比如说
char a,b;
a=getchar();
b=getchar();
printf("%d",a+b);
比如说a是3 b是4输出7而不是103+
谢谢谢谢

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

5条回答

  • caozhy 从今以后生命中的每一秒都属于我爱的人 6年前
     printf("%d",(a - '0')+(b - '0'));
    
    点赞 4 评论 复制链接分享
  • CDSN_SB_SYY CDSN_SB_SYY 6年前

    #define buf 9 //buf要小于9,注意Int使用越界溢出

    char a[buf],b[buf];
    int l = fgets(a,buf,0);
    if (a[l-1] == '\n')
    a[l-1] = '\0';
    int le = fgets(b,buf,0);
    if (b[le-1] == '\n')
    a[le-1] = '\0';
    printf("a+b = %d\n",atoi(a),atoi(b));
    是不是要这样的

    点赞 评论 复制链接分享
  • wangkai19952008 Initial勿忘初心 6年前

    一楼正解
    char可以与整数互用,但是char保留的是对应的ASCII码值,所以你想要用相应的整数表示的话就需要减去多出来的数值,也就是‘0’对应的整数值

    点赞 评论 复制链接分享
  • seek_of Seek_Of 6年前

    printf("%c",a+b);

    点赞 评论 复制链接分享
  • sq1652827791 Sherbet_Lemon 6年前

    如果输入像“1234”这样的串,c语言自带一个atoi()函数可以把它转换为整数1234。
    函数原型如下:
    int atoi(const char *nptr);
    如果是long和float类型,也有相应的函数。

    点赞 评论 复制链接分享