問題タブ [getchar]
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 - C - プログラムはスキャンせずに終了しますか?
ここで何が起こっているのかよくわかりません.Imがただのばかなのか、コンパイラの何かがおかしいのか.
以下のコードは、私の searchList 関数を呼び出した後、ユーザーからの入力を取得する必要がありますが、代わりに、プログラムは単に終了し、セグ フォールトさえ発生せず、文字通りただ終了します。ばかげたこと?
編集: searchNode は searchList です。タイプミスで申し訳ありません。
乾杯。
c - いくつかのgetchar呼び出し
私はVS10コンソールアプリケーションを持っています。これは2つのchar入力を受け取り、それらの値に基づいていくつかの処理を行う必要があります。次のコードを記述しました。
で実行します:
この実行後、の値はc1
is'y'
であり、の値c2
は'\n'
どのように解決できますか?
c - while ループ内での printf() の奇妙な動作
while ループで printf() 関数の二重入力が表示される理由を誰かが説明してくれますか?
Debian Squeeze (gcc バージョン 4.4.5 (Debian 4.4.5-8)) のコードの出力は次のとおりです。
c - C: ポインターを文字列として使用: 予期しない動作
ユーザーの入力で最も長い行を見つけて、行の長さと行自体を出力するCプログラムを書いています。文字のカウントには成功しますが、予期せず行自体の保存に失敗します。多分私はCのメモリ管理を誤解しており、誰かが私を修正することができます.
編集: フォローアップの質問: char に続くブロックdummy
が割り当てられていないため、コンピューターがブロックを操作できる範囲が開いていることを理解しましたが、一部の char のストレージがまだ機能するのはなぜですか? 私が言及した 2 番目の例では、プログラムは文字を「未割り当て」ブロックに格納するべきではありませんが、格納します。なんで?
変数:
getchar()
はc
毎回 iに保存されますgetchar()
i
私がいる現在の行の長さ(これまでのところ)getchar()
ですlongest_i
これまでの最長の線の長さですtwostr
2 つの文字列のうち最初の文字列の先頭を指します。最初の文字列は現在の行、2 番目の文字列はこれまでの最長の行です。行が最も長いことが検出されると、2 番目の文字列にコピーされます。将来の行がさらに長い場合、2 番目の文字列の一部が上書きされますが、もう使用しないので問題ありません。2 番目の文字列は、より右側の位置から開始されます。dummy
twostr
指す場所を与える
これは、プログラムの変数によって使用されるメモリを視覚化する方法です。
真のステートメント:
プログラム:
from *(twostr+longest_i+1))
until'\0'
は予測不能です。例:
入力:
出力:
入力:
出力:
c++ - getchar() がうまく動作しませんか?
私はこのコードを C++ で書き、getchar()
以前はコンソールを使用していましたが、その関数を使用しても効果は見られませんでした。コードは次のとおりです。
c - C での入力の処理
このタイプの入力を処理するための最良の方法について、実際に探し、疑問に思い、ヒントを求める簡単な質問:
これにより、各行の単語数は完全にランダムになり、個々の単語は、リンクされたリストやツリーなどのデータ構造に追加できます。
各行を取得して解析しますか? ゲッター()? 手がかりはありますか?
c - このサンプル C コードについて説明してください
このコードは K&R からのものです。何度も読んでいますが、まだ理解できていないようです。
K&R によると、これら 2 つの関数の目的は、プログラムが大量の入力を読み取らないようにすることです。つまり、このコードがないと、関数は、最初に読みすぎない限り、十分なデータを読み込んだかどうかを判断できない可能性があります。しかし、私はそれがどのように機能するのか理解していません。
たとえば、getch() について考えてみましょう。私が見る限り、これはそれが取るステップです:
- bufp が 0 より大きいかどうかを確認します。
- その場合、buf[--bufp] の char 値を返します。
- それ以外の場合は getchar() を返します。
より具体的な質問をしたいのですが、このコードが意図したことをどのように達成するのか文字通りわからないので、私の質問は次のとおりです:(a)目的と(b)このコードの理由は何ですか?
前もって感謝します。
注: K&R ファンの場合、このコードは 79 ページにあります (エディションによって異なります)。
c - エラー: ラベルはステートメントの一部にしかできません
私は C で頭のおかしいインタープリターを書いていますが、慣れていないものの使用に少し問題があります。ブレインファックでは、コンマ ( ,) は本質的に getchar() です。だから私は次のコードを持っています:
これをコンパイルしようとすると、 gcc がスローerror: a label can only be part of a statement and a declaration is not a statement
します。
何か案は?(これについては申し訳ありませんが、このエラーにあまり慣れていません)
c - Cプログラミング:ネームアレンジャー!newbをコーディングしますか?
ここで完全な初心者。プログラミングクラスの紹介の2日目なので、優しくしてください。私たちはCでプログラミングしています。
私たちの任務は、ユーザーに次の形式で名前を付けるように促すことでした。ジョン・スミス、そしてそれをそのように印刷して戻します。スミス、J。
頭痛の種に追加するには、空白のスペースがいくつあるかに関係なく、プログラムを実行する必要があります。つまり、ジョン/ nスミス、ジョン/ tスミス、ジョン/0スミス。
これが私がこれまでに持っているものです、
私の問題:同じバッファから両方を読み取っているときに、名前を出力する方法がわかりません。
誰かが私のlname関数をどのように行うかを私に説明できますか?また、配列リストや文字列メソッドもありません。
c - コンソールから文字を読み取る
intに対していくつかのscanfを実行するコンソールアプリケーションを作成し、その後、getcharを実行します。
この結果c = '\n'
、入力が次のようになりますが、次のようになります。
この問題をどのように解決できますか?