• ベストアンサー

|\ はどんな演算子?

SDKのヘッダーファイル中で、 |\ という記述を見かけました。 フラグを複数指定して、論理和演算をしているように見えましたが、実際のところどうなんでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.3

★修正と追記。 ・行末の『\』文字は、プリプロセッサ命令ではなく記述ルールでした。 ・あるブロック処理を #define で定義すると下のように出来ます。 サンプル: #define LineCount(count,fp)\ {\  char buff[ 256 ];\  \  rewind(fp);\  \  for ( count = 0 ; fgets(buff,sizeof(buff),fp) != NULL ; count++ ){\   ;\  }\ } ・上記の #define はファイル・ストリームから行数をカウントするマクロです。  関数みたいですがマクロ定義です。  『LineCount(count,fp);』として呼び出すと変数『count』に行数が代入されます。 ・以上。おわり。

ggaogg
質問者

お礼

うわーすごい使い方教えていただきました、ありがとうございます。 なんだかレベルアップできた気がします。 これにて〆させていただきます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • mac_res
  • ベストアンサー率36% (568/1571)
回答No.2

\は#defineの記述の継続行を示します。 #define A X|Y|\     Z と #define A X|Y|Z は等価です。

ggaogg
質問者

お礼

お手数かけました・・。 1番目の方と同時にお答えいただいたみたいですが、どうもすみませんでした。

全文を見る
すると、全ての回答が全文表示されます。
  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.1

★ヘッダファイル内で #define の記述ですよね。 ・『#define』の記述が1行で納まらない場合は行末に『\』文字を追加することで  次の行に続く指定になります。→プリプロセッサ命令の1つです。 ・例えば  #define Percent(a,b) ((a) * 100 / (b))  というマクロ定義があったとすると  #define Percent(a,b)\   ((a)\   * 100\   / (b))  という4行で定義させることが出来ます。 ・この場合は1行で定義できますが、長い場合は複数行に分けて定義することで  見やすくなります。 ・よって『|\』というのは、論理和演算の途中を行分割していると思われます。  つまり、次の行にまだ定義が続いているのではありませんか?  質問内容の情報不足のため上記以外は思い当たりません。→あっているかな? ・以上。おわり。→『プリプロセッサ命令』を検索しましょう。

ggaogg
質問者

お礼

その通りです、#defineが続いています。 そうでしたかーいやーありがとうございました。 考えるときの視野が狭かったようです。修行せねば・・

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 論理演算

    8桁の2進数10110111の最上位(最左端)のビットだけを0にするには、8桁の2進数01111111と、どのような論理演算を行えばよいか。 選択肢 (1)論理積 (2)論理和 (3)否定論理積 (4)否定論理和 という問題の答えと、なぜそうなるかを教えて下さる方いませんか。 よろしくお願いします。

  • javaにおける論理演算の論理和の記号はどのように

    javaにおける論理演算の論理和の記号はどのように 入力すればいいのでしょうか?

    • ベストアンサー
    • Java
  • 論理演算について質問

    何度もすみません。 また質問します。これで最後にしたい、、 質問1:&&や||等の論理演算子は、その両側にある2つの“boolean型の式(関係式等)”に対して論理演算を行う。 評価は、両側の式に対して並列に行うのではなく、1つづつ行って行く。 因みに、||は「論理式」を論理演算するこどができる。例えば、 int a=1,b=0,c=0のとき a==1 && b==3 || a==1 && b==0 の論理式があったとします。 この論理式の||は、即に演算されたa==1 && b==3とa==1 && b==0の論理式を演算の対象としている。 質問2:「評価」と「論理演算」って意味は同じですか?違いますか?違うならその違いは? 質問3:a==1 && b==0 || (a==1 && b==0)の論理式は、先に(a==1 && b==0)の論理式を論理演算すると思ってました。でも、以前そのような仮説をもって質問したら、回答者の方に実際違うと指摘されました。何故ですか?だって()の中の論理式なんだから、優先的に演算されるはず。

    • ベストアンサー
    • Java
  • 論理演算子の関係式を結ぶ個数について質問

    int a=1,b=0,c=0のとき a==0 && (b==0 || c==0) a==0 && b==0 || c==0 の2つの論理式あったとします 質問1:前者の論理式の論理演算子である&&は、a==0と(b==0 || c==0)をつないでるイメージですか? 質問2:後者のa==0 && b==0 || c==0の論理式の||は、a==0 && b==0とc==0をつないでるイメージですか? 質問3:論理演算子は、その論理演算子からみて左方向にある関係式全てと右にある 関係式1つを結ぶものですか?ただし、()の中に複数の関係式がある場合、その複数の関係式を1括りにしていい。(例えば質問1の前者の例)

    • ベストアンサー
    • Java
  • ファジィ理論の加法の演算子について

    理系の大学生です。今、ファジィ理論について勉強しています。 ファジィ集合の加法で使う演算子ですが、 ○のなかに+という形は排他的論理和、 もしくは集合論の直和の演算子だったと思います。 なぜ、ファジィ集合の加法で使う演算子がこの形をしているのか いまいちイメージができません。 お分かりになる方はぜひ教えてください。 一応、私が読んだファジィ集合の加法の式を書いておきます。 文字化け対策で、演算子を(+)で表しています。 加法:A(+)B ←→μA(+)B(z) =∨(μA(x)∧μB(y)) よろしくお願いします。

  • 論理演算の解き方を教えて下さい。

    Q.「ある数Nから次のデータに論理演算を用いて変換したい。その手順を16進数で記述せよ。但しXは変化させてはならないビットを表す。また、データ長は8ビットとする。」  (1)N→XXXX0XXX  (2)N→X0111001 という問題です。まず問題文の意味からわかりません。よろしくお願いいたします。

  • フローチャートの演算記号

    今、cのプログラミングのフローチャートを書いているのですが time.h のヘッダーファイルをincludeしておくというのをフローチャートにかくには、どの演算処理記号をつかえばいいのでしょうか?? 教えてください!!

  • 論理和演算子を使って、三項演算子のような簡易分岐ができるようなコードを

    論理和演算子を使って、三項演算子のような簡易分岐ができるようなコードを書けるという テクニックがあるというのを本で読んで試して見たのですが、うまくいきません。 本に書いてあるコードはこんな感じです。 bがなければ、cのプロパティであるdを、それもなければ、500をaに代入する。 bを削除するとdが代入されると思ったのですが、エラーになってしまいます。 //var b = 1; var c = new Object(); c.d = 2; var a = b || c.d || 500 ; どうやったらうまくいきますでしょうか?よろしくお願いします。

  • SQL文中の論理演算式の優先順位

    来週、初級シスアドの試験を受ける者です。 「何を今さら」と思われるかもしれませんが、参考書等に載っていなかったので質問します。 SELECT * FROM 表名 WHERE ○○○ OR △△△ AND □□□ 上記のSQL文でWHERE以下の論理演算式を解いていく場合の優先順位を教えて下さい。 問題集の解法では「△△△と□□□の論理積をだした後に○○○との論理和をだす」とありました。 また、「条件式の中の論理演算式の優先順位に注意しなさい」とありました。 この、優先順位を教えて下さい。よろしくお願いします。

  • String型の変数に代入されている2つの文字列を論理演算したいです。

    String型の変数に代入されている2つの文字列を論理演算したいです。 上記の通りなんですけど 例えば String a = "あいうえお"; String b = "aiueo"; このような二つの文字列を論理演算したあと 16進数の文字列としてあらたな変数(String型)に代入したいのですが どのように記述すればよろしいでしょうか? 初心者なものでわかりやすく説明していただけるとありがたいです。

    • ベストアンサー
    • Java
LX-10000FXでL版の写真を印刷
このQ&Aのポイント
  • LX-10000FXでL版の写真を印刷する方法とは?印刷可能なサイズや設定について詳しく解説します。
  • EPSON LX-10000FXを使用してL版の写真を印刷できるのかについて解説。印刷の手順や必要な設定についてもご紹介します。
  • LX-10000FXでL版の写真を綺麗に印刷するコツをご紹介します。印刷可能な解像度や用紙の選び方など、詳しく解説します。
回答を見る