vc++的一个问题。。。。

来源:百度知道 编辑:UC知道 时间:2024/05/06 19:06:31
变量定义: "int x,y;char ch;"
考虑输入:5 28 36

执行cin>>x>>ch>>y:

输出结果为什么是:
x=5,y=8,ch=2 ?????

输入整型时,C语言遇到空格符,制表符,换行符就认为输入完毕。
char是一个字节的。当你输入5后又输了空格,编译器就认为x已输入完毕,然后输28,因为ch只能是一个字节,所以2就赋值给ch了,8后面又是空格,所以8就赋值给y了,而36则存在缓冲区

你定义的是字符ch,所以你输入28时,ch只能赋值为2(一个字符),如果你想输出28可以定义为char ch[2]或者定义为字符串string ch。

char是定义一个字符。。。。。