ブロックのcase
ラベル付きステートメントが処理される前のステートメントはどのように処理されますか?switch文はどのように機能しますか?
#include<stdio.h>
int main()
{
switch(1)
{
int i=0;
case 1:printf("%d",i);
}
getchar();
return 0;
}
出力:ガベージ値 次のプログラムの動作に
PROG1を説明してください。
PROG2:
#include<stdio.h>
int main()
{
switch(1)
{
printf("Inside Switch");
case 1:printf("Case 1\n");
}
printf("Outside Switch");
getchar();
return 0;
}
出力:
ケース1
外切り替えます。
ケース2のラベルのステートメントの前のステートメントは到達不能に見えますが、最初のプログラムで宣言されていない変数i
(エラーのみ)のエラーが表示されません。
switch
ステートメントが内部的にどのように扱われるかを誰かが詳しく説明できる場合は、本当に役に立ちます。
この宿題はありますか?宿題のように聞こえる。もしそうなら、 '宿題'タグを付け加えてこれまでの自分の作品を見せてください。 –
@ T.J.Crowderこれは宿題ではありません。私はGildでCクイズを取っている間にこれを見つけました。私は知りたいと思っています。 – Bazooka
'switch'ステートメントは基本的に' goto'sを持つジャンプテーブルの構文的な砂糖です。 –