#include <stdio.h>
int main() {
int a = 3;
int b = 3;
switch (a) {
case 0:
printf("aはゼロです\n");
break;
case 1:
printf("aは1です\n");
break;
case 2:
printf("aは2です\n");
switch (b) {
case 0:
printf("bは0です\n");
case 1:
printf("bは1です\n");
case 2:
printf("bは2です\n");
default:
printf("aもbもゼロでも1でも2でもありません\n");
break;
}
return 0;
}
}
switch文について。
switch文について。
- purin52002
- 記事: 235
- 登録日時: 7年前
- 連絡を取る:
Re: switch文について。
switch(a)のdefaultを忘れてるんじゃないでしょうか?
c++初心者を自負しています。
質問者さんには今後私にプログラミングを教えてくれるようにやさしく丁寧に教えるつもりです。ぎぶあんどていく^p^
回答者さんには精一杯感謝します。ぎぶおんりー^p^
質問者さんには今後私にプログラミングを教えてくれるようにやさしく丁寧に教えるつもりです。ぎぶあんどていく^p^
回答者さんには精一杯感謝します。ぎぶおんりー^p^
Re: switch文について。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
Re: switch文について。
#include <stdio.h>
int main() {
int a = 1;
int b = 0;
switch (a) {
case 0:
printf("aはゼロです\n");
break;
case 1:
printf("aは1です\n");
break;
case 2:
printf("aは2です\n");
default:
printf("aはゼロでも1でも2でもありません\n");
}
switch (b) {
case 0:
printf("bは0です\n");
case 1:
printf("bは1です\n");
case 2:
printf("bは2です\n");
default:
printf("bはゼロでも1でも2でもありません\n");
break;
}
return 0;
}
Re: switch文について。
b=0なのでswitch(b)からcase 0:に飛び、break;まで連続して実行されているからですね。skcl さんが書きました:b=0b=1b=2bは0でも1でも2でもありませんとすべてでてしまいます。
期待する出力は何ですか?
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
Re: switch文について。
aに関するコードskcl さんが書きました:b=0と入れてたのでbはゼロですとなってほしいです。
switch (a) {
case 0:
printf("aはゼロです\n");
break;
case 1:
printf("aは1です\n");
break;
case 2:
printf("aは2です\n");
default:
printf("aはゼロでも1でも2でもありません\n");
}
※「いい感じ」であって、「いい」ではありません。なぜなら、defaultの前にbreak;が無いため、switchに渡す値によっては不適切な出力が出る可能性があるからです。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
Re: switch文について。
#include <stdio.h>
int main() {
int a = 1;
int b = 2;
switch (a) {
case 0:
printf("aはゼロです\n");
break;
case 1:
printf("aは1です\n");
break;
case 2:
printf("aは2です\n");
break;
default:
printf("aはゼロでも1でも2でもありません\n");
break;
}
switch (b) {
case 0:
printf("bは0です\n");
break;
case 1:
printf("bは1です\n");
break;
case 2:
printf("bは2です\n");
break;
default:
printf("bはゼロでも1でも2でもありません\n");
break;
}
return 0;
}
- purin52002
- 記事: 235
- 登録日時: 7年前
- 連絡を取る:
Re: switch文について。
質問掲示板なのですからどんどん質問していいと思います。skcl さんが書きました: 色々なプログラムどんどん質問しても良いでしょうか。書籍だけだとわからないですね。
ただ、私は
- 自分で調べたけどわからなかった
- 掲示板の過去ログを検索したけど似たようなトピックがなかった
あと、質問の内容をわかりやすく伝えるように努力してます。
例えば エラーが出ます。助けてください。
ではなく、
足し算をするプログラムを作りたいのですが、
3,4,5行目にセミコロンが抜けている、というエラーが出ました。
どこにエラーがあるのでしょうか?また、どのようにすればエラーをなおせるでしょうか?
のほうが、回答する側としては答えやすいのかな、と思っています。
c++初心者を自負しています。
質問者さんには今後私にプログラミングを教えてくれるようにやさしく丁寧に教えるつもりです。ぎぶあんどていく^p^
回答者さんには精一杯感謝します。ぎぶおんりー^p^
質問者さんには今後私にプログラミングを教えてくれるようにやさしく丁寧に教えるつもりです。ぎぶあんどていく^p^
回答者さんには精一杯感謝します。ぎぶおんりー^p^
Re: switch文について。
セミコロン等ピリオド等スラッシュ等細かい入力ミスだけしか間違えた等の域まで達していない場合は何処で聞いたらいいのですかね?
- purin52002
- 記事: 235
- 登録日時: 7年前
- 連絡を取る:
Re: switch文について。
skclさんの疑問が解けたなら解決でいいのではないでしょうか?正常に動作したからこのトピックはもう終わりでいいですよね?
そこらへんはぜひ自分で頑張ってほしいですね^^;セミコロン等ピリオド等スラッシュ等細かい入力ミスだけしか間違えた等の域まで達していない場合は何処で聞いたらいいのですかね?
どうしてもわからない場合はここで聞いてもいいと思いますが、コードが長い場合はミスを探すのがめんどくさいですからね、、、^^;
エラーメッセージをコピペしてくれると、回答者さんもエラーが見つけやすいと思います。エラーメッセージの状況を細かく提示すればいいんですかね?
c++初心者を自負しています。
質問者さんには今後私にプログラミングを教えてくれるようにやさしく丁寧に教えるつもりです。ぎぶあんどていく^p^
回答者さんには精一杯感謝します。ぎぶおんりー^p^
質問者さんには今後私にプログラミングを教えてくれるようにやさしく丁寧に教えるつもりです。ぎぶあんどていく^p^
回答者さんには精一杯感謝します。ぎぶおんりー^p^
Re: switch文について。
エラーメッセージは提示していただく方が手間が省けますが、この程度のコードであれば提示されたコードをコンパイラにかければ得られます。skcl さんが書きました:エラーメッセージの状況を細かく提示すればいいんですかね?
それよりも、skclさんしか知らない情報である「期待する動作(仕様・出力)」を書いてください。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
Re: switch文について。
フォーラムルールより転載
「うまくいきません」という質問は大抵回答に困ります。
1. 自分は今何がしたくて
2. どう取り組んで(作ったプログラムはどれで
3. どのようなエラーやトラブルで困っていて
4. 自分は何が解らないのか、知りたいのか
5. 今のCの知識はどの程度なのか
この5点をしっかりと明記して下さい。
環境に依存する場合やライブラリを使っているときは
使っているOS名・コンパイラ名・ライブラリ名も明記しましょう。
コンパイルエラーの質問時は必ず最低限のエラーメッセージも書きましょう。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
Re: switch文について。
もっと自分だけで勉強したり書籍のサポート受付に質問したりして(本当は講習受けた方が良いんですかね。でもお金かかるかな)勉強したいと思います。でもこの掲示板で何らかのきっかけがうまれればと思いました。何処かの会社に入ったり経験がつめればとも思いました。まずは自分だけで考えてみたいと思います。またよろしくお願いします。