bsp开发是什么:关于一个C++的程序

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/29 22:23:02
#include <iostream>
using namespace std;

int main()
{
char ch;
int result = 0;

cin >> ch;

while (ch > '0' && ch < '9')//(isdigit(ch))
{
result = result * 10 + (ch-'0');
cin>>ch;
}
cout <<result<<endl;

system("PAUSE");
return 0;
}

这个程序在键入数字之后为什么不能正确显示result的结果出来??

补充一下,应该将ch>'0' && ch<'9'改为ch>='0' && ch<='9'。
另外,回答楼上的,在C和C++里,char实际上就是单字节整数。

result = result * 10 + (ch-'0');
我对这句有疑问,result是int 型的,ch是char型的,可以直接运算吗?
谢谢tanyuguo的指点,同意你的修改

这个程序实现的功能是要你输入‘0’到‘9’之间的任意数字。你输入完后要想它显示result的结果,就必须使得满足条件就是不在0’到‘9’,其中这个0’到‘9’是ASCII码。所以你输入任意其它字符都可以正确显示result的结果的了。