<結果例>
指定文字 ?a
文字列 ?abcabcabc
変換後文字列 \bc\bc\bc
変換文字数 3
のようになるはずなんですが、実行しても結果が得られません。
while文で友達が試したところ、上手くいったようです。
C原語は初心者なので、解説をいただけたらうれしいです。
よろしくおねがいします。
C原語の課題の質問です。
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とか書いてあるのは、これは宿題のサンプルか何かですか?
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が単純な文字列置換であるので、無意味に使いすぎると
意図しない部分で置換される可能性が高くなるからです。