C++ while(cin>>cmd&&cmd[0]!='q')
初学者询问:........charcmd[10];while(cin>>cmd&&cmd[0]!='q').......请教cin>>cmd这一部分参与“&&”逻辑的准...
初学者询问:
........
char cmd[10];
while(cin>>cmd&&cmd[0]!='q')
.......
请教cin>>cmd这一部分参与“&&”逻辑的准确意思。输入值不为空吗?
谢谢 展开
........
char cmd[10];
while(cin>>cmd&&cmd[0]!='q')
.......
请教cin>>cmd这一部分参与“&&”逻辑的准确意思。输入值不为空吗?
谢谢 展开
1个回答
展开全部
读入成功时,cin返回true。如果读到文件尾EOF标志、非法字符等则会返回false。
&&叫逻辑与,当且仅当&&左右两个表达式都为true时,&&才返回true。
&&叫逻辑与,当且仅当&&左右两个表达式都为true时,&&才返回true。
更多追问追答
追问
感谢您,我写了一段代码来验证,确实cout>cmd);
cout<<abc<<endl;
}
追答
cin的>>操作符的返回值是cin对象本身而不是布尔型,之所以可以进行真假测试,是因为iostream类重载了operator bool()。所以当你试图把一个iostream类的对象赋值给一个bool型时,就会报错。需要写成abc=(cin>>cmd).operator bool()
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询