关于cin.get只接受字符?
int main(){
cout << " 请输入文本 " << endl;
int p ;
while ( cin.peek() != '\n')
{
p = cin.get();
cout << p;
}
return 0;
}
我输入123,结果却是:495051
如果第四行p是char:char p
那么输入123,结果就是123,为什么呢?这个cin.get是只get字符?如果是数字也要定义为char才能get? 本帖最后由 Tec 于 2019-12-25 19:34 编辑
cin.get()的返回值是int类型,为读取字符的ASCII码值
cin.get()每次读取一个字符,输入123,分别返回了1,2,3的ASCII码,49,50,51
把p定义为char类型后,读取到了1,2,3的ASCII码,输出char类型的时候把ASCII码转换为了1,2,3 Tec 发表于 2019-12-25 19:27
cin.get()的返回值是int类型,为读取字符的ASCII码值
cin.get()每次读取一个字符,输入123,分别返回了1,2 ...
非常感谢~~~~~{:7_112:}
页:
[1]