goto

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
世界

goto

#1

投稿記事 by 世界 » 13年前

選択して分岐するプログラムを組んでいます。
goto分以外に指定したラベルに飛ばす方法ってあるんですか?

beatle
記事: 1281
登録日時: 13年前
住所: 埼玉
連絡を取る:

Re: goto

#2

投稿記事 by beatle » 13年前

switch はいかがでしょうか?変数に格納されている整数値に応じて分岐できます。

コード:

int x; // xには整数値を入れておく
switch (x)
{
case 0:
    // x == 0 のときの処理
    break;
case 10:
    // x == 10 のときの処理
    break;
default:
    // それ以外のときの処理
    break;
}

オカピーα
記事: 120
登録日時: 13年前

Re: goto

#3

投稿記事 by オカピーα » 13年前

トピックとは関係ないのですがよくある間違いです。
switch文のなかで変数を宣言してはいけません。
beatleさんが間違ってるわけではありませんよ?
僕はこのミスで散々苦しめられましたので
同じ思いをしている方が居たらと思って
ちょっと書いてみました。
C,C++,C#,これらを極めることを「3C政策」と言う

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: goto

#4

投稿記事 by みけCAT » 13年前

オカピーα さんが書きました:switch文のなかで変数を宣言してはいけません。
そんなことはない/言葉が足りないと思います。

コード:

#include <stdio.h>

int main(void) {
	int a=0;
	scanf("%d",&a);
	switch(a) {
		case 0:
			{
				int b;
				b=1+2+3+4+5+6+7+8+9+10;
				printf("%d\n",b);
			}
			break;
		case 1:
			{
				int i,s=0;
				for(i=0;i<=100;i++)s+=i;
				printf("%d\n",s);
			}
			break;
	}
	return 0;
}
http://ideone.com/k8hCG
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

たかぎ
記事: 328
登録日時: 14年前
住所: 大阪
連絡を取る:

Re: goto

#5

投稿記事 by たかぎ » 13年前

みけCAT さんが書きました:
オカピーα さんが書きました:switch文のなかで変数を宣言してはいけません。
そんなことはない/言葉が足りないと思います。
そうです。そんなことはありません。

コード:

switch (expression)
{
    int variable;
case 0:
    foo(&variable);
    printf("%d\n", variable);
    break;
case 1:
    bar(&variable);
    printf("%d\n", variable);
    break;
default:
    break;
}

世界

Re: goto

#6

投稿記事 by 世界 » 13年前

皆さん、詳しい解説ありがとうございました。

閉鎖

“C言語何でも質問掲示板” へ戻る