重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

文字を入力する。例えば、DFGHJ。次に番号を入力して、その番号に示された値を表示。ここでは、2が入力されれば、Fを表示するのですが、分かりません。
考えてみたのですが、コンパイルエラーで、出来ません。教えてください。宜しくお願いします。

#include <stdio.h>


int main(void)
{
char str[6], no;
printf("文字を入力する", str);
scanf("%s", str);

printf("番号を入力:");
scanf("%d", &no);

switch(no,str[]) {

case 0 : puts("%d番目は%sです",no, str[0]); break;
case 1 : puts("%d番目は%sです",no, str[1]); break;
case 2 : puts("%d番目は%sです",no, str[2]); break;
case 3 : puts("%d番目は%sです",no, str[3]); break;
case 4 : puts("%d番目は%sです",no, str[4]); break;
case 5 : puts("%d番目は%sです",no, str[5]); break;
}

return(0);
}

A 回答 (5件)

#2&3です。



以下に変更。
#include <stdio.h>

int main(void)
{
char str[6];
int no;
printf("文字を入力する");
scanf("%s", str);

printf("番号を入力:");
scanf("%d", &no);

switch(no) {
case 0 : printf("%d番目は%cです",no, str[0]); break;
case 1 : printf("%d番目は%cです",no, str[1]); break;
case 2 : printf("%d番目は%cです",no, str[2]); break;
case 3 : printf("%d番目は%cです",no, str[3]); break;
case 4 : printf("%d番目は%cです",no, str[4]); break;
case 5 : printf("%d番目は%cです",no, str[5]); break;
}
return(0);
}

変更点
noをint型に変更。
select文の中のprintfの書式を"%d番目は%cです"に変更。

この回答への補足

ありがとうございます。おかげさまでできましたが、どうしてこの場合は%sではなくて、%cなのですが、教えてください。

補足日時:2005/12/30 20:48
    • good
    • 0

「どうしてこの場合は%sではなくて、%cなのですか」


此処で出力しようとしているのは文字列ではなく、文字です。
C言語では、文字と文字列は区別されます。(簡単に言うと、最後に「nul」を待っています。)
詳しくはこちらをどうぞ。
http://www9.plala.or.jp/sgwr-t/c/sec02.html#s2-4

参考URL:http://www9.plala.or.jp/sgwr-t/c/sec02.html#s2-4
    • good
    • 0
この回答へのお礼

ありがとうございます。理解できました。

お礼日時:2005/12/30 21:31

どういう風に実行して、どういうエラーが出ました?

この回答への補足

文字を入力して、番号を入力したら、実行が終了してしまいました。caseにあるprintfの部分が出ませんんでした。

補足日時:2005/12/30 20:24
    • good
    • 0

「puts」は「printf」に変更しましょう。

この回答への補足

変更して、コンパイルはできましたが、実行しても、番号で示した文字がでません。どこが駄目ですか、教えてください。

補足日時:2005/12/30 20:17
    • good
    • 0

switch(no,str[]) の()の中には,変数はひとつだけですよ.

この回答への補足

str[]を消してコンパイルできたのですが、実行しても、番号で示した文字がでません。教えてください。お願いします。

補足日時:2005/12/30 20:20
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

今、見られている記事はコレ!