#include<iostream>
using namespace std;
int main()
{
int a=10,b=5,c=3;
b!=!a;
c=!!a;
cout<< b<<" "<< c<< "\n";
return 0;
}
The output is:
5 1.
-4
A
答えて
1
b!=!a
発現がfalse
に評価b != (!a)
のように書くことができます。
結果がどこにも格納されないため、コンパイラはこのラインを最適化する可能性が非常に高いです。あなたは与える:
c=!!a
は、(任意の非ゼロの数が0
でないのと)と第二!
は以前の結果、すなわち上でない最初の!a
はあなたにfalse
を与えるc = !(!a)
のように記述することができますtrue
。この値はc
になります。変数a
、b
、c
の
内容11
(a
が変更されなかった)、5
(b
はいずれか変更されていない)と1
(!!a
の結果)です。
0
b!=!a;
は、b != !a
と読み替えられます。これは単なる比較であり、割り当てを行いません。 c=!!a;
はc = !(!a)
になります。 !a
はfalse
と解釈されます。 1は単にtrue
を意味します。
関連する問題
- 1. このコードの意味は何ですか?(ウィンドウ)、function(a、b、c)
- 2. a =&* C++(Aはポインタ)の意味は何ですか?
- 3. ["a"、 "b"、 "c"]の "a、b、c" .split( "、")のメリットは何ですか?
- 4. ステートメントクラスa(b)の意味
- 5. '(a b c)と(a' b 'cをリストする)の違いは何ですか?
- 6. ハスケルでa - > b Boolの意味は何ですか?
- 7. [(a、b)、(c、d)]と[[a、b]、[c、d]]の違いは何ですか?
- 8. x = function(a、b、c){}と関数x(a、b、c){}の違いは何ですか?
- 9. a = b = cはsqlの意味ですか?
- 10. 「numpy.add(a、b)」と「a + b」の違いは何ですか?
- 11. "int N = a == b?a:a + b == 10?a + b:0;"の意味
- 12. これはc int a:16;で何を意味しますか?
- 13. "return a in b"とはどういう意味ですか?
- 14. 私はcoqに(A/\ B)/ \ C == A/\ B/\ Cを納得させるにはどうすればよいですか?
- 15. double a = a + int bとint a + = double bの違いは何ですか?
- 16. SQL ServerのA $$$ B $$$$$$ C $$$$$$$$ D文字列からA $ B $ C $ DまたはA%B%C%Dを取得するにはどうすればよいですか?
- 17. unix bashスクリプト[-a]は何を意味していますか?
- 18. Rのsetequal(a、b)とsame(a、b)の違いは何ですか?
- 19. (aと(bではない))または(aとb)= aはなぜですか?
- 20. format(a、str(b))はどういう意味ですか?
- 21. ハスケル: `Map(a、b)c`と` Map a(Map b c) `の違いは?
- 22. `size * = b-a`はどういう意味ですか?
- 23. {a-b、b-c、c-a}から{(a、b)、(b、c)、(c、a)}に変更しますか?
- 24. a + bはb + aと等しくないのですか?
- 25. [:] = bとa = b [:]の違いは何ですか?
- 26. Functorは(a - > b) - >(f a - > f b)であり、(cカテゴリ)=> c a b - > c(f a)(f b)とは何か?
- 27. Verilogモジュールはaとbとaを計算できません
- 28. C++では、A + = BがA = A + Bよりも好都合です。++ AはA ++になりますか?
- 29. クラス図の "a"は何を意味しますか?
- 30. "int * const * b"とは何を意味していますか?
あなたはどこにいらっしゃいましたか? – StoryTeller
'b!=!a'はほとんど何もしません(おそらくコンパイラによって投げ捨てられました)。そして、' c = !! a'は 'a'を2回実行しません(基本的に真偽値に変換します; 、それは1)、それを 'c 'に割り当てます。 – Yashas
それはそこにないので、あなたは論理を得ていません。 – Slava