トリッキーコードネット トップへ戻る   C/C++, Java, Perl, PHP, JavaScript, アルゴリズム, ショートコーディング, IOCCCコードの解説, 等々

サイト情報

トリッキーなコード

7行プログラミング

物凄いコード集

アルゴリズム

データ構造

C/C++な話題

コードサンプル

ツール/環境構築

開発ノウハウ 等

ネタ/ジョーク集

おススメ書籍/サイト

サイトTOP >> トリッキーなコード >> +-が連続している演算 (C言語)

+ - が連続している演算 (C言語)

さて、以下のコードを実行すると・・・、

#include <stdio.h>

int main()
{
    int i;

    i = 1 + 1;
    printf("%d\n", i);

    i = 1 +- 1;
    printf("%d\n", i);

    i = 1 +-+ 1;
    printf("%d\n", i);

    i = 1 +-+- 1;
    printf("%d\n", i);

    i = 1 + + + + + + 1;
    printf("%d\n", i);

    i = 1 - - - - - - 1;
    printf("%d\n", i);

    i = 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1;
    printf("%d\n", i);

    return 0;
}
以下の様な結果が表示されます^^;) +-が連続した演算 補足しておくと、 単項演算子の結合方向は右から、2項演算子の結合方向は左から。 そして、優先順位は単項 > 2項 の為、 1 +- 1 ⇒ 1 + (-1) ⇒ 1 - 1 = 0 1 +-+ 1 ⇒ 1 + (-(+1)) ⇒ 1 + (-1) = 0 1 +-+- 1 ⇒ 1 +(-(+(-1))) ⇒ 1 + 1 = 2 1 + + + + + + 1 ⇒ 1 + (+ (+ (+ (+ (+1))))) ⇒ 1 + 1 = 2 1 - - - - - - 1 ⇒ 1 - (- (- (- (- (-1))))) ⇒ 1 - (-1) = 2 というワケです。(n‘∀‘)η (※ +だけ、-だけの演算は、++, --と認識されてしまうので、間にスペースを入れる必要があります。) +-でAAソースコードを作って、遊べそうですね?!^^;)
         このエントリーをはてなブックマークに追加   


作業効率化・ライフハックのオススメ記事




コンピュータ・テクノロジーのオススメ記事





恋愛・人間関係のオススメ記事




※ 当サイトは、トップページからリンクで辿る事の出来るページに限り、リンクフリーです。
※ 当サイトの閲覧/利用によって生じた如何なる損害も、当サイト管理人は責任を負いません。
※ 当サイトの内容を転載される場合は、当サイトへのリンクをお願い致します。