C言語のことは漏れに聞け!!<41>

このエントリーをはてなブックマークに追加
bool flag2 = (flag==true);
if(flag2==true) {
}

ここまでやれば完璧。誰が読んでも明白。
>>951
バカか。
if(flg==true)
と書いたって実行しなきゃわからんだろ。
#define flag true
955945:02/11/13 00:31
>>953
実行しないで(ぱっと見るだけで)分かるのはflagの型。
>>952
それは結局。if(flag==true)と同じなんだけど...
>>955
見るだけで何がわかるんだよ。
flgは真偽しか返さないのにいったい他に何がわかるんだ。
>>957
flagの型って書いてあるだろ。まあコーディング規約でflagは真偽しか
返さないと決めてあるのなら別だが。
if(flag)//flag is true or false
kanpeci
>>958
どうしても型が知りたいっていうなら別だが・・・
型を知ってどうするんだ?
そこで型がわかったところで意味ないと思うんだが。
#define isTrue(x) x!=0
>>960
可読性が上がるだろ。
if(flag)より
if(flag==true) の方が可読性で勝ると思ってる奴は初心者。
ふむ。
gcc version 2.95.4

#include <stdio.h>
#define N 4
int main(void)
{
  int j;
  char a[N] = "";

  for (j=0;j<N;j++)
    printf("%d ", (int)a[j]);
  return 0;
}
$ ./a.out
0 37 100 32
なんかゴミが入るんだよなぁ。

c99 6.7.8 12
If there are fewer initializers in a brace-enclosed list than there are
elements or members of an aggregate, or fewer characters in string literal
used to initialize an array of known size than there are elements in the
array, the remainder of the aggregate shall be initialized implicitly the
same as objects that have static storage duration.
a. 明日雨が降ったら、遊びに行くよ。
b. 明日雨が降ったら、が真なら、遊びに行くよ。
>>963
反論できないから初心者ということにして誤魔化すことしかできない程度
>>966
a. 旗だったら、遊びに行くよ。
b. 旗が立ったら、遊びに行くよ。

要はflagがbool変数かどうかを知りたいってこったな。
つまりそれがC99で書かれていることが読み取れるわけだ。
(´_ゝ`)ふーん
>>968
えらく自分の都合のいいように解釈してるな(w
>>970
そう解釈できるのだから間違ってないだろ。
俺あんな次スレやだよ。伝統守って欲しいよ。だからこれきぼん。

--------------------
C言語のことは漏れに聞け!char *c[42];

漏まえら、C言語のことなら漏れに聞け。

問題をちゃんと切り分けて、Cの話かそうでないか洗ってから質問してくれ。
というより、聞く前に一応 Web で検索しろ。
コンパイラを探してるなら >>2 を見ろ。

GUIとか、C標準でできない事の質問は使ってる開発環境のスレに逝ってくれ。
ソース丸投げ、宿題、書籍 は専門の別スレがあるからそこへ逝ってくれ。

上記を守らない書き込みをした場合、その結果は禿しく未定義とする。

C FAQ 日本語訳
http://www.catnet.ne.jp/kouno/c_faq/c_faq.html
comp.lang.c FAQ(英語の原文)
http://www.eskimo.com/~scs/C-faq/top.html
Cプログラマ必読 ・プログラミング言語C(通称 K&R)
http://www.amazon.co.jp/exec/obidos/ASIN/4320026926/
推薦図書/必読書のためのスレッド PART6
http://pc3.2ch.net/test/read.cgi/tech/1033207156/

前スレ
c[41] = "http://pc3.2ch.net/test/read.cgi/tech/1036876790/";
>>969
自分で何を言っているか分かっていますか?
ずいぶん新着レス数多いなと思ったら・・・・香ばしいな
975次スレの>>3:02/11/13 00:55
976次スレの>>4:02/11/13 00:56
977次スレの>>4:02/11/13 00:56
>>973
型が知りたいんだからそういうことだろ。
flag の型が知りたいから
if ( flag == true )
とするってならこんどは (flag == true) の型を知るために
if ( (flag == true) == true )
こうしなければならない。さらに ((flag == true) == true) の型を知るために(略
bool型があるならまだいいけど無いならあんまり必要性感じないなぁ<true比較
C99じゃないならflagの型を知りたいと言ってもintの可能性があるんだろ?
じゃあ型がわかったことにならないんじゃ。
むしろ
int flg;
とかやってるのに
if(flg == true)
を見ただけで「flgには0か1しか入っていないはず!」と勘違いする可能性が…
でも実はflg=5;とかできちゃうわけで。
よし。
if(!!flag == true)
これなら一石二鳥だ。

>>972
面白いね。
> C言語のことは漏れに聞け!char *c[42];
この辺まで考えてるとは。
>>982
ちょっとわかりにくいタイトルかなとは思ったんだけど、配列のインデックスが0から始まるC
だとちょうどタイトルの番号と過去スレの番号が収まっていいかなと
>>981
intとboolを比較したら普通はエラーだろ?
>>978
if(flag)だけだとflagが真偽値であるか明確ではない。
if(flag==true)だとflag真偽値であるのが明確。
if((flag==true)==true)は既にflagが真偽値であるのが明確なので無意味。
flagなんていう抽象的な名前で考えるから分らない。
たとえば具体的に
int error_occurred;
のとき
if (error_occurred == true)
なんて書いてたらただのDQNだろ。
>>942
なぜ
if (((flag == true) == true) == true)
と書かないのかと小一時間…
988デフォルトの名無しさん:02/11/13 01:15
ユーザーが指定した数をカウントする関数作り
i2=3;
j2=4;
ij=i2*j2;
if((str1=(int**)malloc(sizeof(int*)*i2))==NULL){
printf("メモリー確保の失敗:1");
exit(1);
}
for(i1=0;i1<i2;i1++)
if((str1[i1]=(int*)malloc(sizeof(int)*j2))==NULL){
printf("メモリー確保の失敗:2");
exit(1);
}


for(i1=0;i1<ij;i1+=j2){
putchar('\n');
for(j1=0;j1<j2;j1++){
printf("%c",str1[i1/j2][(len++)%i2]=('A'+i1+j1));
}
}
putchar('\n');
for(i1=0;i1<i2;i1++){
putchar('\n');
for(j1=0;j1<j2;j1++)
printf("%3d",str1[i1][j1]);
}
あのーC99より前のCにtrueやfalseという予約語ありませんよね?
>>987
だから足りない情報(boolであるか)は一つ目のtrueで補えているから二つ目以降は必要ないだろ。
>>985
if ( flag == true )
だと flag が真偽値であることは明確だが
(flag == true) が真偽値であることは明確ではない。
次はあのスレ行かなきゃダメなのか・・・鬱
>>991
(flag==true)は真偽値を返すことになっているはずだが。
994988:02/11/13 01:18
 このユーザーが、指定した数をカウントする関数を教えて・・・・
        まもなくここは 乂1000取り合戦場乂 となります。

      \∧_ヘ     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴルァ!!       ,,、,、,,,
    /三√ ゚Д゚) /   \____________  ,,、,、,,,
     /三/| ゚U゚|\      ,,、,、,,,                       ,,、,、,,,
 ,,、,、,,, U (:::::::::::)  ,,、,、,,,         \オーーーーーーーッ!!/
      //三/|三|\     ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ∪  ∪       (    )    (     )   (    )    )
 ,,、,、,,,       ,,、,、,,,  ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ,,、,、,,,       (    )    (    )    (    )    (    )
>>994
今それどころじゃないんだ。
if ( DQN ) abone();
もし DQN なら あぼーん
if ( DQN == true ) abone();
もし DQN が 真 なら あぼーん
998982:02/11/13 01:19
>>983
今回はもう手遅れっぽいけど、次のスレでは
是非この案を採用して欲しいと願ふ。
999988:02/11/13 01:19
 おしえて
10001000:02/11/13 01:20
>>1001
んなこた〜わかってんだよ。いちいちウザイぞボケ。
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。