重要なお知らせ

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

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

プログラムの課題で分からない問題があるので、ヒントを教えていただきたいのです。
ちなみにfor文、if文、配列などを応用して(勿論ぜんぶ使わなくても良いです)プログラムをつくるものなのですが、配列をうまく理解してないので、どういう風に配列に代入して出力するかアドバイスお願いします。

・キーボードから入力した2つの文字列(8文字以内)を比較して、同じときには○、異なるときは×と表示する

int main(void)
{
char str[8];
int i,n,na;
for (i=0;str1[i]= =str2[i];i++){
if (str1[i]= ='\0'){
n=1;
}break;
}
というトコまでは何とか分かるのですが…

A 回答 (2件)

>配列をうまく理解してないので


逆に、配列の何がわからないのかが、疑問です。
たとえば
char a[3];
と、定義すれば
a[0],a[1],a[2]
が存在することになります。
つまり、配列の添え字"a[添え字]"は、0から始まるのを注意する程度です。

上記、プログラムで言えば、str[8]は使用していないようです。
str1[8],str2[8]でないとコンパイルエラーとなります。
また、厳密には8文字ならば、'\0'はストッパーなので全体としては9文字分必要となります。
ですから、str1[9],str2[9]が正しいような気がします。
実際には、ケチってもしょうがないので多めに確保した方が何かと問題は少なくなります。

>どういう風に配列に代入して出力するか
何をどのように出力したいのでしょうか?
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
そうですね。よくみたら変な間違いしてました(書き間違い)。
色々してるうちに”配列”が分かってきたので、
何とか頑張ってみます。

お礼日時:2010/06/18 00:14

C言語は自信ないなあ…こーかな?


http://ideone.com/O80ye
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

このページは見たことない複雑なものが使ってありますね。
パッと見ても分からないです。

お礼日時:2010/06/18 00:19

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