在c中比较char到Int
发布时间:2020-12-16 10:09:21 所属栏目:百科 来源:网络整理
导读:在c中,由于隐式类型转换,可以将int与char进行比较吗?还是我误解了这个概念? 例如,我可以吗 int x = 68;char y;std::cin y;//Assuming that the user inputs 'Z';if(x y) { cout "Your input is larger than x";} 或者我们是否需要先将其转换为int? 所以 i
在c中,由于隐式类型转换,可以将int与char进行比较吗?还是我误解了这个概念?
例如,我可以吗 int x = 68; char y; std::cin >> y; //Assuming that the user inputs 'Z'; if(x < y) { cout << "Your input is larger than x"; } 或者我们是否需要先将其转换为int? 所以 if(x < static_cast<int>(y)) { cout << "Your input is larger than x"; } 解决方法
是的,您可以将int与某些char进行比较,就像您可以将int与某些short进行比较,但它可能被认为是不好的样式.我会编码
if (x < (int)y) 或者像你一样 if (x < static_cast<int>(y)) 对于那种情况我觉得有点过于冗长…… 顺便说一下,如果你打算使用不作为字符的字节,还要考虑来自< cstdint>的int8_t类型(etc …). 不要忘记在某些系统上,默认情况下会对char进行签名,而在其他系统上则为无符号(并且您可以显式使用unsigned char vs signed char). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |