#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是什么意思
新手关于C++的语句
答案:3 悬赏:20 手机版
解决时间 2021-08-19 15:40
- 提问者网友:却不属于对方
- 2021-08-19 12:10
最佳答案
- 五星知识达人网友:廢物販賣機
- 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来定义 就会正常了。。。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯