繁体   English   中英

是什么? 意思是在 ( 之后是另一个 (? 就像 if(!(cin>>val))

[英]what does the ! mean after ( and followed up by another (? like if(!(cin>>val))

我遇到过这件事。 我不明白为什么你们都可以使用 cin,我也不明白它是什么意思。

      int val;
      if (!(cin >> val));

我不明白 if(!()) 代表什么,也不能输入字符

是什么。 意思是...之后

. 是一元运算符。 在这种情况下,它是逻辑 NOT 运算符。 如果expression隐式转换为bool的结果为 true,则!expression为 false,如果expression隐式转换为bool的结果为 false,则!expression为 true。

c++ 中的,运算符称为 NOT 运算符。 它切换真/假:在给定的代码片段中: int val; if (;(cin >> val)); int val; if (;(cin >> val));

当输入值(cin>>)为“非”integer 时,“if”条件为真。 可以通过以下代码进一步澄清:

  int val;
  if (!(cin >> val)) 
     cout << "not an integer";
  else
      cout <<"integer";

我认为这不应该作为

if(!(cin>>val))// this is similar to if((cin>>val)==false)

这意味着如果输入不是 integer 或类似的东西。 我这真正需要的是检查是否是数字。

int val;
cin >>val; 
if(!isdigit(val))
{
 //goes in if false of else it skips the if statement.  
}

这只是一个假设(可能是错误的)。如果需要正确并且需要更多细节,比如目标是什么或......!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM