問題タブ [kernighan-and-ritchie]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - K&R ですべての演習を行う必要がありますか?
これは、私が尋ねなければならない、少し主観的な質問です。熟練した C プログラマーになるためには、k&r から C を学ぼうと思いました。この本は少しのんびりしていて、理解するのが難しいこともありますが、全体的にはのんびりしていると思います。
ここでの私の質問は、C で熟練したプログラマーになるために、すべての演習 (私を困惑させた演習も含む) を絶対に行わなければならないのでしょうか? または、それらのほとんどをスキップできますか? 質問の形式とレイアウトは... 難しく、せいぜい C の豊富なライブラリ セットで利用できるツールを使用しないと難しいものです。
c - 16 進数から 10 進数への変換 [K&R 演習]
私は C を学んでいますが、K&R 演習の 1 つであるリストがわかりません。
htoi(s)
練習問題 2-3、16進数の文字列 (オプションの0x
orを含む0X
) を等価の整数値に変換する関数 を書きなさい 。使用できる数字は、0
~9
、a
~f
、A
~F
です。
ここで再帰を行う必要があると思いますが、番号付けの種類やそれらのさまざまな変換方法などについてあまり知らないと思います.
誰かがそれを理解するための最良の方法についていくつかの指針を与えることができますか?とprintf("%x", skill);
c - K&R 演習 2-3「Hex から int へのコンバーター」問題
私が書いたプログラムは、単一の 16 進数値のみで構成される人口統計で機能します。(おそらく最も洗練されたソリューションではありませんが、私は新しいプログラマーです) 私の質問は、0xAF や 0xFF などの複数の 16 進数をどのように処理すればよいかということです。正確にはわかりませんが、試行錯誤しているように見えました。誰かに私の手を握ってほしいと言っているわけではありませんが、このコードで間違っていた箇所と、それを修正する方法についての考えを教えてください。
ありがとう :)
c - K&R: 文字ポインタの配列
ページで。K&R の 109 では、次のように表示されます。
*lineptr++ が正確に何をするのか混乱しています。私の理解では、printf には char ポインターが必要なので、*lineptr で提供しています。次に、配列内の次の char ポインターまで lineptr をインクリメントしますか? これは違法ではありませんか?
99 ページで、K&R は次のように書いています。
c - 「Cプログラミング言語」のこのコードはどのように機能しますか?
私は「Cプログラミング言語(第2版)」を読んでいて、冒頭近くに次のような例があります。
ファイルからの読み取り中にこれがどのように機能するかを確認でき、この構文を理解しています...しかし、これはコンソールからの読み取りにすぎません。コンソールから文字を入力するときに、ファイルの終わりをどのように通知するのでしょうか。私はWindowsXPを使用しています...MinGWコンパイラ...とにかく、この本はEOFボタンなどを備えた以前のシステム用に書かれていましたか?
アップデート
さて、もう1つ質問があります。それは、Windowsでのファイルの終わりの動作に関連しています。
、だけwhile(getchar()!=EOF);
の場合は、^ Zを介してEOFを通知するまで、文字を入力し続けることができます。しかし、私は改行を書き、次に^ Zを押し、次に別の改行を押す必要があります...なぜそれはそれ自身の行になければならないのですか?
c - `getchar()` はユーザー入力をどこに保存しますか?
「 The C Programming Language 」 (K&R) を読み始めたのですが、関数について疑問がありgetchar()
ます。
たとえば、このコード:
toomanychars
+ CTRL+ D(EOF) と入力すると、単にt
. 最初に登場するキャラクターなので当然だと思います。
しかし、この別のコード:
toomanychars
+ CTRL+ D(EOF) を入力すると、 が出力されtoomanychars
ます。
私の質問は、単一の char 変数しかない場合になぜこれが起こるのですか? 残りの文字はどこに保存されていますか?
編集:
答えてくれたみんなのおかげで、私は今それを手に入れ始めました...たった1つのキャッチ:
最初のプログラムはCTRL+Dを指定すると終了し、2 番目のプログラムは文字列全体を出力してから、さらにユーザーの入力を待ちます。別の文字列を待機し、最初のように終了しないのはなぜですか?
c - K&R初心者
私はプログラミングを始めたばかりで、K&R を使って C を学ぼうとしています。コマンド ライン引数 (5.10) のセクションにたどり着きましたが、今は困惑しています。コマンド ライン引数を指定して記述したプログラムを開こうとするたびに、ファイル X (X は引数) が存在しないと言われます。
`gcc -o find find.c
検索テストを開く
ファイル /Documents/Learning_C/test が存在しません。
助言がありますか?ありがとう
c - Alternative (K&R) C syntax for function declaration versus prototypes
What is useful about this C
syntax — using 'K&R' style function declarations?
I was able to write this in Visual Studios 2010beta
I don't understand. What's the point of this syntax? I can write:
The only thing it seems to specify is how many parameters it uses and the return type. I guess parameters without types is kind of cool, but why allow it and the int paranName
after the function declarator? It's weird.
Also is this still standard C?
c - K&Rs の文字カウントのヘルプの例
私は K&R の第 2 版に取り組んでいますが、この一見単純な例に困惑しています。
それは単に正しく機能していません。Enterキーを押したときにプログラムを終了する部分を追加しましたが、それもあまり(getchar() != '\n')
役に立ちません。
gcc
Mac OSX 10.6 開発ツールに付属の を使用したサンプル出力を次に示します。
したがって、何かが明らかに間違っています。18ページです、参考になれば。これは宿題ではありません。これは楽しみです。
ありがとう :)