<結果例>
指定文字 ?a
文字列 ?abcabcabc
変換後文字列 \bc\bc\bc
変換文字数 3
のようになるはずなんですが、実行しても結果が得られません。
while文で友達が試したところ、上手くいったようです。
C原語は初心者なので、解説をいただけたらうれしいです。
よろしくおねがいします。
C原語の課題の質問です。
-
array
Re:C原語の課題の質問です。
それと、私も1言。
>while文で友達が試したところ、上手くいったようです。
forでもできなくないですけど、文字列の長さが不確定なので、forよりwhileを使った方が良いという事だと思います。forはループする回数が決まっている時に使う事が多いいみたいです。それに対しwhileはループする回数が不確定の時に使用するみたいです。
>while文で友達が試したところ、上手くいったようです。
forでもできなくないですけど、文字列の長さが不確定なので、forよりwhileを使った方が良いという事だと思います。forはループする回数が決まっている時に使う事が多いいみたいです。それに対しwhileはループする回数が不確定の時に使用するみたいです。
-
管理人
Re:C原語の課題の質問です。
scanf関数を使うとき、変換指定文字に対して何の型を使わないといけないか、
確認してみて下さい。
http://www9.plala.or.jp/sgwr-t/c/sec05.html
バグの原因は
恐らくcharを使わないといけないのにintを使っている為、intが4バイトだとすると、
初めの1バイトしか値が入っていないからじゃないでしょうか。
強引な話、mojiを0で初期化するか、グローバル変数にすればバグが直るかと。
すべきことはintをcharにすることですかね。
後、PFとか書いてあるのは、これは宿題のサンプルか何かですか?
確認してみて下さい。
http://www9.plala.or.jp/sgwr-t/c/sec05.html
バグの原因は
恐らくcharを使わないといけないのにintを使っている為、intが4バイトだとすると、
初めの1バイトしか値が入っていないからじゃないでしょうか。
強引な話、mojiを0で初期化するか、グローバル変数にすればバグが直るかと。
すべきことはintをcharにすることですかね。
後、PFとか書いてあるのは、これは宿題のサンプルか何かですか?
-
box
Re:C原語の課題の質問です。
> forよりwhileを使った方が良い
どちらがよい、ということはないです。
例えば、以下の2つの書き方は、「何かの文」に continue; が
なければ全く等価です。
1)for文の場合
for (A; B; C) {
/* 何かの文 */
}
2)while文の場合
A;
while (B) {
/* 何かの文 */
C;
}-
ナオユキ
Re:C言語の課題の質問です。
訂正しました。すいません。
みなさんの数々の解答を参考にもう一度やってみます。
ご協力ありがとうございました。
PFは#defineで定義したprintfです。
過去問題にでていたので、ちょっとやってみたくなりしてみました。
みなさんの数々の解答を参考にもう一度やってみます。
ご協力ありがとうございました。
PFは#defineで定義したprintfです。
過去問題にでていたので、ちょっとやってみたくなりしてみました。
-
組木紙織
Re:C言語の課題の質問です。
>PFは#defineで定義したprintfです。
ちょっとやってみるぐらいならいいと思いますが。
(使い方の練習にはなるので)
printf()などの関数名を#defineするべきではないと思います。
というより#defineは最小限にすべきであるとおもいます。
理由は#defineが単純な文字列置換であるので、無意味に使いすぎると
意図しない部分で置換される可能性が高くなるからです。
ちょっとやってみるぐらいならいいと思いますが。
(使い方の練習にはなるので)
printf()などの関数名を#defineするべきではないと思います。
というより#defineは最小限にすべきであるとおもいます。
理由は#defineが単純な文字列置換であるので、無意味に使いすぎると
意図しない部分で置換される可能性が高くなるからです。