下面这个程序,val被本人定义成了char型,那么本人输入123的时候,输出的sun是150,问一下这个结果是怎么得出来?计算机内部是怎么计算的?
#include <iostream>
int main()
{
int sum=0;
char val;
while(std::cin>>val)
sum+=val;
std::cout<<“sum “<< “is “<<sum
<<std::endl;
return 0;
}
#include <iostream>
int main()
{
int sum=0;
char val;
while(std::cin>>val)
sum+=val;
std::cout<<“sum “<< “is “<<sum
<<std::endl;
return 0;
}
解决方案
80
题主你单步调试一下就知道了。
循环一共进行了三次:
第一次读入字符”1″ (对应的ASCII码是49),sum=49;
第二次读入字符”2″ (对应的ASCII码是50),sum=99;
第三次读入字符”3″ (对应的ASCII码是51),sum=150;
循环一共进行了三次:
第一次读入字符”1″ (对应的ASCII码是49),sum=49;
第二次读入字符”2″ (对应的ASCII码是50),sum=99;
第三次读入字符”3″ (对应的ASCII码是51),sum=150;