問題タブ [format-specifiers]
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 の bool データ型の scanf の書式指定子
定義が で定義されている C std99 で bool データ型を使用してい<stdbool.h>
ます。ここで、ユーザーに入力してもらいたいと思います。ユーザーから1バイトのブール値を入力し、その後プログラムでそれを操作するためにscanfで使用する必要があるフォーマット指定子は何ですか。
c - Cのfloat変数
これは簡単な質問かもしれませんが、float 変数がメモリにどのように格納されているのか、なぜこのように動作しているのかについてはわかりません。誰か次の動作について説明してください。
出力:
float 変数がメモリにどのように格納されるかについていくつかの情報を見てきましたが、仮数、指数、および符号に関する情報が含まれています。しかし、ここでそれを関連付ける方法がわかりません。
c - 対応する値のない printf() での書式指定子の使用
ここで簡単な質問です。
印刷したい文字列でフォーマット指定子を使用するが、文字列の後にプレースホルダーを置き換える値をリストしない場合、2627389、6278253 などの一見乱数が出力として得られます。次に例を示します。
出力は次のようになります。
なぜこのようなことが起こるのか、その数字が何を意味するのか疑問に思っていました。アイデアがあれば、本当に助かります。ありがとう。
c - scanf( "%d"、[...])が'\ n'を消費しないのはなぜですか?scanf( "%c")はそうしますか?
ここで、私は受け入れられた答えでこの声明を見ました:
ほとんどの変換指定子は、改行を含む先頭の空白をスキップしますが、スキップ
%c
しません。
私にとって、この異なる振る舞いの下での論理的根拠は明確ではありません、私は均一なものを期待していました(例えば、常にスキップするか、決してしない)。
私は次のようなCコードでこの種の問題に遭遇しました:
2つscanf
のsを交換すると、問題と(コメント付き)が解決されます。getchar
そうしないと、最初の挿入のが2番目の'\n'
挿入によって消費されます。LinuxとWindowsの両方でgccでテストしましたが、動作は同じです。scanf
%c
gcc(GCC)4.7.2 20120921(Red Hat 4.7.2-2)
Copyright(C)2012 Free Software Foundation、Inc.
これはフリーソフトウェアです。コピー条件については、ソースを参照してください。保証はありません。商品性や特定の目的への適合性についてもそうではありません。
だから私の質問は:なぜ%d
とは%c
異なる動作'\n'
をするのscanf
ですか?
xcode - 修正できない警告を表示する NSLog
Mac OS X アプリケーションに次のコード行があります。
そして、次の警告が表示されます。
ただし、コードを次のように変更すると:
警告が表示されます:
形式は「unsigned int」型を指定していますが、引数の型は「NSUInteger」(別名「unsigned long」) です。
だから私はそれを
しかし、私は警告を受け取ります:フォーマットはタイプ「unsigned long」を指定していますが、引数にはタイプ「NSUInteger」(別名「unsigned int」)があります
警告が生成されないように NSLog を設定するにはどうすればよいですか? Xcodeの提案に従うと、フォーマット指定子を変更する無限ループに陥りますが、警告は消えません。
c++ - doubleではなくfloatを必要とするprintf指定子はありますか?
snprintf
タイプのパラメータで「%f」指定子を使用すると、MISRAタイプのエラーが発生しますfloat
。
私の調査によると、「%f」はのタイプを想定しているため、MISRAは正しいですdouble
。
float
型パラメーターではなく型パラメーターを使用する浮動小数点指定子または修飾子はありdouble
ますか?
私は組み込みシステムで作業していますがdouble
、関数を満足させるためだけに32ビット浮動小数点から64ビットに変換したくありませんsnprintf
。コードはデバッグ/コンソールポートに出力され、これが変換が行われる唯一の場所です。
コード例が必要な方のために:
SOとWebに関する私の研究はすべて、浮動小数点値の出力に関するものであり、float
昇格double
が行われないようにパラメーターを必要とする指定子に関するものではありません。
ARM7TDMIプロセッサ用のIAREmbeddedWorkbenchコンパイラを使用しています。
c - 「宣言指定子に 2 つ以上のデータ型があります」エラーとはどういう意味ですか??
上記のコードを gcc で実行すると、エラーは表示されませんでした。しかし、以下のコードを実行すると、「宣言指定子に 2 つ以上のデータ型があります」というエラー メッセージが表示されました。
誰かが私にこのエラーが何であるかを説明できますか??
objective-c - Objective-C 連続フォーマット指定子の印刷 0
これは私が抱えている小さな問題です。基本的で単純なように見えますが、見つけることができません。コードは次のとおりです。
その出力:
2 番目の指定子が 0 を出力している理由を教えてもらえますか? どうすれば解決できますか?
ありがとう!
c - %s ie 文字列指定子を使用して char 配列を読み取る
上記を使用して、char配列にメモリを割り当てることができます。しかし、それを文字単位で読み取るのは必須? How to read and access it using
の %s` ですか、つまり、文字列フォーマット指定子ですか?
cuda - (int)-1のCUDAカーネルprintfは、%d指定子で間違った出力を返します
私のコンピューターにCで話すとき
私は期待しており、通常は「-1」の応答も受け取ります。しかし、私のUbuntuベースのCuda5.0から話された私のTeslaM2090 Nvidiaカードでは、この無実のデモプログラム
コンパイルされ、経由で呼び出されます
出力を生成します:
最後の数値は、実際にはある種の乱数であり(2つの後続の呼び出しは異なる結果を返します)、メモリ割り当てで何かが間違っているかのようになります。-1の前の(int)は、すでに試行錯誤です。元のプログラムにはありませんでした。
そして、ここに質問があります:誰かが、なぜ-1が書かれていないのかわかりますか?もしそうなら、その理由を教えてください。どうもありがとう、マーカス。