2年前プログラミングに関して初心者のものです。studioを使用しています。20」のような形で入力し答えを出力できるようなものを作りたいです。一応自分なりに作ったのですが、上手くいきません。足し算しかまだ書けてないですが、どこがいけないのでしょうか?よろしくお願いします。最大の問題は33行目で文字列の内容ではなくポインタ同士を比較していることですね。C言語で文字列が同じかを判定するには、strcmp関数を使うのが一般的です。*gy;今どきこういう書き方をしている人はいないと思います。*gx)のように書くのが標準でありましょう。*argv[];ここも上と同じ。{ここは一つstrcmpあたりを使ってください。バグのないプログラムはない。プログラムは思ったとおりには動かない。2年前みけCATさん、boxさん返信ありがとうございます!言われたことを自分なりにやってみたのですが、実行しようとすると実行ファイルが動作を停止したというメッセージが出てきてしまいました。2年前Mathさん返信ありがとうございます!見事やりたいことができました。ポインタがらみが非常に苦手なのですがなぜ「*」をさらに一つ追加するだけでクリアできたのでしょうか?仕組みがいまいち理解できてないのでよろしければ教えていただけると嬉しいです。2年前>ポインタがらみが非常に苦手なのですがなぜ「*」をさらに一つ追加するだけでクリアできたのでしょうか?>仕組みがいまいち理解できてないのでよろしければ教えていただけると嬉しいです。ポインタがらみが非常に苦手なのは”ポインタは難しい---という刷り込みが頭のなかにある”のと説明が省略してあることが多く”これで動くからいいじゃん”みたいなところがあるからです。本当は易しいとおもうので長い説明になりますが良ければ聞いてください。"C言語はUNIXを開発するため作られたので[開発者が自分たちさえわかれば良い]とゆう感じで文法が混乱してる”ということもあるとおもいます。C言語は文法がややこしいのであってポインタは難しくないとおもいますね。”配列”というものがCでは宣言以外ではポインターの操作になるということを理解しなくてはなりません。*argv[])と同値です。失礼、これに答えれれば質問しないよね。*argv[])を見かける事が多いと思います。混乱の原因があります。ポインターの配列」を意味する。2年前Mathさんへポインタが配列の形をとってしまっているということでしょうか?可変長配列というワードは初めて聞き調べてみましたが、いまいちピンときませんでした。実行するときに配列の長さを指定することができるということくらいしかわからなかったです。今までのことを普通の2次元配列(C言語では本当の意味で2次元配列はないので”もどき”ですが今のコンパイラは賢いので”ポインター"を使ったごとく最適化してくれる。.>ポインタが配列の形をとってしまっているということでしょうか?いいえ”配列”がポインタの形をとってしまっているということです>可変長配列というワードは初めて聞き調べてみましたが、いまいちピンときませんでした。>とりあえず、実行するときに配列の長さを指定することができるということくらいしかわからなかったです。これは後で説明をします。いまはピンとこないはずです。>つまり、配列の形をとったポインタは長さを実行時に変えれるということですか?そういう事ですね。2年前やはりかなり難しいですね。2年前>やはりかなり難しいですね。これが難しいと感じるのは初心者ですね。勉強がすすんでから聞いてください。*argv[]とargv[][]はすべて同じということですか?その通りです。>後、追加してくださったこの部分はいったい何でしょうか?みて分からないですか...?...。勉強がすすんでから聞いてください。end.のほうがいいと思います。いまは普通の入門サイトにある事項を理解する方がいいでしょう。(可変長配列については過去ログに何度か詳しく説明してあります。*argv[]とargv[][]はすべて同じということですか?同じではありません。書くとコンパイルエラーになります。*argv[]とargv[][]はすべて同じということですか?その通りです。概念的にはということです。いまはargv[][固定長]でargv[][可変長]をあらわすことを(今時間がとれないので)時間がとれるとき”シンタックス・シュガー”の説明とあわせ書きましょう。ポインタがらみが非常に苦手なのですがなぜ「*」をさらに一つ追加するだけでクリアできたのでしょうか?仕組みがいまいち理解できてないのでよろしければ教えていただけると嬉しいです。次のようなデータ構造になっています。呼出しも正しくなります。代入が不適切になり、コンパイラは警告メッセージを出すはずです。可変長配列というワードは初めて聞き調べてみましたが、いまいちピンときませんでした。実行するときに配列の長さを指定することができるということくらいしかわからなかったです。