永发信息网

新手关于C++的语句

答案:3  悬赏:20  手机版
解决时间 2021-08-19 15:40
  • 提问者网友:却不属于对方
  • 2021-08-19 12:10
#include "iostream.h"
int main ()
{
 char a;
 cout <<"请输入数字:";
    cin >>a;
 char b;
 cout <<"请输入数字:";
 cin >>b;
 cout <<a+b <<endl;
 return 0;
}  为什么算出a+b与实际差出96呢?  例如1+1应该=2 而给出的是98  这个差出的96是什么意思
最佳答案
  • 五星知识达人网友:廢物販賣機
  • 2021-08-19 12:59
因为你定义的变量a和b都是字符型的,也就是当你输入1时,保存在变量a中的不是数值1,而是1的ASCII码,值是49,那么当a和b都是1时,相加后得到的值是并不是数值2,而是98。如果定义a和b是int(整型)型变量,则计算结果是准确的。
全部回答
  • 1楼网友:独行浪子会拥风
  • 2021-08-19 14:32

char是字符型数据,如果将两个字符型数据相加,将返回字符的ASCII码,在ASCII中,1代表的ASCII码是49,相加后当然是98

  • 2楼网友:西岸风
  • 2021-08-19 13:41

晕了,一开始程序就错了。

如果要运算2个数之和是用 int来定义,而不是char定义

char是字符,1的ascll是49

所以才会相差98。。。

你试试用int来定义 就会正常了。。。

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯