
No.4ベストアンサー
- 回答日時:
> Cではboolean型は定義されてないのでしょうか。
少なくとも標準規格では定義されていません。
すでに回答がでているように、C99であれば_Bool型がありますし、(Cとは書かれていますが)実はC++のつもりであればbool型があります。
> if(a>b); printf("true\n");というような書き方しか出来ないのでしょうか。
#define booltoa(x) ((x)?"true":"false")
のようなマクロか関数を定義しておけば、
printf("%s\n", bootoa(a > b));
のようにすることならできます。
あるいは、実はC++のつもりであれば、
std::cout << std::boolalpha << (a > b) << std::endl;
とするのもありでしょう。
> "0"、"1"、"-1"の戻り値をとらせることは出来ないのでしょうか。
int型にすべきですが、0, 1, -1以外の値を取れないようにすることは不可能です。
これまたC++であれば、適切なクラスを定義すれば何とかなります。
No.2
- 回答日時:
>Cではboolean型は定義されてないのでしょうか。
開発環境によって「BOOL型(0/1)」はあったりなかったりする。
>if(a>b); printf("true\n");というような書き方しか出来ないのでしょうか。
「文字列」として表示するならそう。
実用性はほとんどないけど
printf( "%s\n", (a>b) ? "true" : "false" );
と書けば同じようなことはできる。
>"0"、"1"、"-1"の戻り値をとらせることは出来ないのでしょうか。
符号ありの変数(int等)で十分では?
とNo.1と同じ意見。
どうしてもBOOLが必要なら、typedefでcharやintを使用すればいいのでは?
No.1
- 回答日時:
なんか文章がごちゃごちゃして意味が取れないんだけど....
まず「boolean型」はないけど「_Bool型」はある. stdbool.h を #include すれば bool でも OK.
よって「_Bool型の返り値」は当然可能.
あと, やればわかるけど
printf("%d\n", (a > b));
なんかはできる.
最後の「 "0"、"1"、"-1"の戻り値をとらせることは出来ないのでしょうか。」の意味は分からんのでパス.
まあ, 「int でいいじゃん」といえばその通り.
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語の勉強しています。すみま...
-
10個出力で改行したいのですが...
-
c言語でAからZまでを表示する...
-
コンパイルエラーについて
-
cshの文字列操作(0埋め)
-
getcharの連続について
-
【C言語教えてください】sin波...
-
プログラミングについて質問で...
-
4の倍数を論理演算で表す。。
-
オセロを作成 助言お願いしま...
-
8人分のテストの点数を入力し、...
-
コマンドラインに出力した文字...
-
英単語(英文字で最大15文字)を...
-
カレンダー作成
-
strcmp
-
勝率をプログラムに
-
unsigned int型について
-
printf、最大値の出し方
-
ヒルベルト曲線のプログラム(C...
-
C言語です このプログラミング...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
10個出力で改行したいのですが...
-
c言語でAからZまでを表示する...
-
(C言語)めちゃくちゃな値にな...
-
コマンドラインに出力した文字...
-
コンパイルエラーについて
-
コマンドプロンプトがすぐ消える
-
勝率をプログラムに
-
テキストカーソル位置の取得
-
三角形の判別
-
【C言語教えてください】sin波...
-
4の倍数を論理演算で表す。。
-
C言語で、「自然数nを入力し、n...
-
入力したお金の金額からお札の...
-
cshの文字列操作(0埋め)
-
switch分のケースを範囲数?に...
-
scanfに文字が入力されたときに...
-
プログラミングについての質問です
-
unsigned int型について
-
ダブルポインタで2次元配列を作成
-
円の面積を求めるプログラミン...
おすすめ情報