掲示板ランキング  システムユーティリティ(アンインストール)


掲示板利用宣言

 次のフォームをすべてチェックしてからご利用ください。

 私は

 題名と投稿者名は具体的に書きます。
 課題の丸投げはしません。
 ソースの添付は「HTML変換ツール」で字下げします。
 返信の引用は最小限にします。
 環境(OSとコンパイラ)や症状は具体的に詳しく書きます。
 返信の付いた投稿は削除しません。
 マルチポスト(多重投稿)はしません。

掲示板1

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    記事検索    ログ    タグ一覧

No.7087

解説願い
投稿者---初心者(2007/02/08 18:41:26)


解答例6-3-1 問3の解説をお願いします。


この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:解説願い 7088 kolona 2007/02/08 19:38:00
<子記事> Re:解説願い 7089 円零 2007/02/08 19:40:25


No.7088

Re:解説願い
投稿者---kolona(2007/02/08 19:38:00)


>解答例6-3-1 問3の解説をお願いします。

具体的に何行目の関数の意図がわからない、とか書いてくれないと、#includeからreturnまで全部解説するのは無理です。

全くわからない(基本文法がわからない)のでしたら、先に「初心者のためのポイント学習C言語」を熟読するか、参考書を読むのがいいと思いますよ。


この投稿にコメントする

削除パスワード

No.7089

Re:解説願い
投稿者---円零(2007/02/08 19:40:25)


>解答例6-3-1 問3の解説をお願いします。

確かに少し日本語が変?な気がしますね。
要するに…

プログラムのユーザーが文字入力を二回行なうものとして、
かつその両方の長さが同じであると仮定した上で、
その両方をscanfによって処理、具体的には各々別々のchar型の配列に格納する。
そしてその各配列の各要素、つまり0番目の要素同士、1番目の要素同士…
の全てにおいて一致しているかどうかを調べて、その結果によって
「等しい文字列を入力」かもしくは
「異なる文字列を入力」のいずれかを表示する、

というプログラムを作成せよ、という問題ですね。



この投稿にコメントする

削除パスワード

No.7090

Re:解説願い
投稿者---初心者(2007/02/08 20:27:13)


すいませんでした。
ここの部分がよくわかりません。

while ( str1[i] != '\0' ) {
if ( str1[i] != str2[i] ) {
flg++; /* 異なる場合チェック */
}
i++;

特に( str1[i] != '\0' )の'\0'の意味

flg++;は何のためにしているのかが、わかりません。
よろしくお願いします。 




この投稿にコメントする

削除パスワード

No.7091

Re:解説願い
投稿者---kolona(2007/02/08 20:55:45)


> 特に( str1[i] != '\0' )の'\0'の意味
>
>flg++;は何のためにしているのかが、わかりません。
>よろしくお願いします。 

flg++は違いの数をカウントしてますね。たしかに題意と少し違います。要するに文字が違うときにflgを増やす処理をすることで、flgの値が0でなければ、違いがあったと判断できるということです。

str1[i] != '\0' は str[i] が文字の終端でないことを確認しています。
C言語の文字列では、\0を最後につける決まりになっています。\0はASCIIコードやSJIS文字コードでは値0です。
この\0が出てきたら文字列の終端なのでループを抜ける、という処理です。



この投稿にコメントする

削除パスワード

No.7092

Re:解説願い
投稿者---しっぽ(2007/02/08 21:00:20)


この解答例だとまずそうです。

ab
abc
等しい文字列を入力

になってしまいます。


この投稿にコメントする

削除パスワード

No.7093

Re:解説願い
投稿者---管理人(2007/02/08 21:07:34)


>この解答例だとまずそうです。
>
>ab
>abc
>等しい文字列を入力
>
>になってしまいます。

「同じ長さの文字列を2つ入力しなさい」となっているのでご了承ください。
本当はbreakあたりを使うとflgも必要ないのですが、まだforとwhileしか解説していない部分なので、このようにしました。




この投稿にコメントする

削除パスワード

No.7096

Re:解説願い
投稿者---初心者(2007/02/09 18:32:19)


解説ありがとうございました。
私でも理解できました。またお願いします。


この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    記事検索    ログ    タグ一覧





掲示板提供:(有)リアル・インテグリティ