
No.4ベストアンサー
- 回答日時:
>初心者な質問で申し訳ありません。
全然問題ないですよ。
>if文で作る場合、
>a<b
>a>b
>a=b
>三つの場合を分岐させたいのですが、
>else ifというのを使えば良いのでしょうか?
その通り。
a=bの場合はそのまま何もせずにそのあとの処理を続けるようにしたいのですが、どうすればいいでしょうか?
a>b と a<b だけ処理してやればいいんじゃない?
if(a>b){
hoge();
}else if(a<b){
fuga();
}
mufu();
なかんじかな。
No.6
- 回答日時:
case には、定数しか書けないはずなので、質問文の様には書けないと思いますが、
次の様には、書けます
#include <stdio.h>
#include <math.h>
void main(void){
int a,b;
a=A;b=B;/* bcc32 -DA=a -DB=b prog.c */
switch(0==a-b ? 0 : (a-b) / abs(a-b)){
case 1:/* a>b */
printf("a>b\n");
break;
case -1:/* a<b */
printf("a<b\n");
break;
case 0:/* a==b */
printf("a==b\n");
break;
default:
printf("ありえない!!\n");
break;
}
}
No.5
- 回答日時:
もし、どうしてもswitchで比較させたいのなら、
switch(a<b) {
case 0:
論理式が偽のとき(a>=b)の処理
break;
default:
論理式が真のとき(a<b)の処理
break;
}
という手はありますが、そんなことをする人はいませんね。。結局case 0:の中でさらに判定が必要になります。
No.2
- 回答日時:
switch case は、ある変数がいろいろな値を取るときに、値によって処理をわけるために使います。
例題の場合は、比較結果による分岐なので、if文がむいていますね。
一般に、switch()の括弧の中に変数を入れ、
case 値: ~ break; でその処理を行うようにします。
int a;
switch(a){
case 0:
printf("0だよ");
break;
case 1:
printf("1だよ");
break;
default:
printf("それ以外だよ");
}
なんて風です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
#if 1 #elseの意味について
-
C言語です
-
構文エラー";"が型の前にあり...
-
while文について、c言語...
-
for文の中にswitch文はいれられ...
-
C言語についてですfor ifをつか...
-
初心者です。for文、if文を使っ...
-
SIGALRMでプロセス終了
-
配列を関数に渡す方法
-
C言語 エラー表示 break の位...
-
c言語で平均をだす
-
for文の条件式について
-
C言語で電卓を作成する。
-
直角三角形を表示するプログラム
-
全角文字の判定
-
for文を使用して値を代入したい...
-
「Aに対するBの割合」と「Aに対...
-
Aの値からBの値を除するとは??
-
信頼区間の1.96や1.65ってどこ...
-
C言語での引数の省略方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
#if 1 #elseの意味について
-
構文エラー";"が型の前にあり...
-
for文の中にswitch文はいれられ...
-
配列を使って魔方陣
-
配列を関数に渡す方法
-
プログラム
-
C言語 マスターマインドゲーム...
-
プログラミングで二番目に大き...
-
初心者です。for文、if文を使っ...
-
scanfが実行されません
-
C言語 数字以外を入力させない...
-
C言語プログラムが理解できなくて…
-
C言語の二分法のプログラムにつ...
-
C言語階乗の総和を求める
-
C言語のwhileループについて
-
for文を使用して値を代入したい...
-
while文を使った問題なのですが...
-
for文の条件式について
-
直角三角形を表示するプログラム
-
C言語 エラー表示 break の位...
おすすめ情報