c++的数值互换的问题

c++的数值互换为啥一个值老是23,而另一个值却能正常交换,如下图所示,以及代码

img

img

cin>>a>>b表示输入2个值,第一个值给a,第二个值给b
而cin>>a,b是一个逗号表达式
等价于cin>>a;
b;
相当于你只给a赋值,b没有赋值
而之所以b的值一直是23,是因为IDE有优化,你反复编译运行的时候,它总是倾向于申请同一块内存,而不是每次换一块内存
你重启一下电脑,值就变了

cin>>a>>b;才是正确写法

没有cin>>a,b这种写法,要输入只能写成cin>>a>>b

cin>>A>>b