char type;
printf("What type of sort would you like to perform?\n");
scanf("%s", &type);
switch(type)
{
case 'bubble':
bubble_sort();
case 'selection':
case 'insertion':
default:
printf("invalid input\n");
}
ユーザの入力に基づいて、バブル、選択、または挿入ソートのいずれかでリストをソートするプログラムを作成しようとしています。文字列入力を使用したswitch文
私はそうするためにスイッチケースを使用する必要があります。
switch文の前に変数 "type"を定義してから、それを "bubble"、 "selection"、 "insertion"のいずれかに割り当てるためにscanf関数を使用しました。
しかし、私がコードを実行して "バブル"を入力すると、私のbubble_sort関数(ここでは表示されていません)が実行されず、代わりにデフォルトの場合になります。
この問題を解決するにはどうすればよいですか?
「char」が「type」変数を定義する正しい方法であるかどうか、またはswitch文を1文字でのみ使用できるかどうかについては少し不確定です。
また、私のコードが正しくフォーマットされていない場合、私はこのサイトを初めて知り、謝罪します。
この質問に情報を追加する必要がある場合はお知らせください。
まずの%cを使用して1つの文字をスキャンすることができますので、あなたは(bubble_sort '後の' break'が必要)。それ以外の場合は次の場合に落ちる。第二に、これは実際にコンパイルされますか? Cの文字列は二重引用符で囲む必要があります。そして、あなたは 'switch'で文字列を使うことはできません。 –
ブレークを追加しましたが、同じ問題が引き続き発生します。それはコンパイルします – Sapphira
コンパイラの警告を深刻に受けてください。警告が発行されなくなるまでコードを修正してください。* sigh * – alk