問題タブ [strcmp]
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.
string - 効率的な文字列並べ替えアルゴリズム
比較による文字列の並べ替え(たとえば、標準のQuickSort + strcmpのような関数)は、特に共通のプレフィックスを共有する長い文字列の場合(比較関数はO(s)時間かかります。ここで、sは文字列の長さです)、少し遅くなる可能性があります。標準ソリューションの複雑さはO(s * nlog n)です。既知のより高速なアルゴリズムはありますか?
php - PHP strcmpの質問
私は webcrawler プログラムを作成しており、以前の URL (最後にアクセスしたサイト) と現在の URL (現在または次にアクセスするサイト) を比較しようとしています。これを行うには、次のstrcmp
ような関数を使用しています。
現在のサイトは、以前のサイトと現在のサイトの配列です。大規模なプログラムで再帰を使用して、毎回新しいサイトをループしています。
strcmp
ただし、現在のサイトと新しいサイトでa を実行するたびに、URL が同じであっても、-1 の結果が得られます。これが一貫して起こっている理由を誰かが知っていますか?
ありがとう。
c - ローダブル Bash ビルトイン
私は strcmp bash ビルトインを書いています。正常にコンパイルされますが、有効にしようとすると、次のようになります。
私のビルトインの大きな部分:
コンパイル行 (展開された make ファイルから):
ET_DYN と ET_EXEC をグーグルで検索しましたが、このような質問へのリンクしか見つかりませんでした。
c - ポインターを使用して値を出力する
不確定な数の変数とそのカウントのソートされた配列があります。次のような文字列を作成する必要があります。
私の問題は、配列が実際にはポインターであり、固定長のループを使用したくないため、唯一の解決策は配列ポインターを使用することです。
ここでの問題はstrcmp(&cur, ++temp)==0
、デバッガーで値を確認しても、毎回 false を返すことです。このため、else 条件は常に構築されており、何度か繰り返した後に segfault がスローされます。
2 つの質問:
1-strcmp
同一の値が入力された場合でも、0 以外の値を返すことができるのは何ですか? 2- コードを修正するにはどうすればよいですか?
c - strcmpを使用して配列内で一致を見つける
strcmpを使用して配列の単語を比較しようとしています.Imは、配列に複数回出現する各単語を1回だけ出力しようとしているので、一意の単語の数を判断できます.配列を検索して、見つかった各コピーを出力します。たとえば、単語「the」が配列内に 4 回ある場合、「the」を 3 回出力し、string1
「the」がある次の場所に移動すると、 2回印刷するなど。
c - strcmpを使用して配列をスキャンします
を使用して配列をスキャンして一致する方法があるかどうか疑問に思いますstrcmp
。strcmp
渡されるパラメーターはC文字列であることを知っています。したがって、このようなものは機能しません。
c++ - 文字ポインタ (new によって割り当て)
次のコードを書きました。
最初にこれらの配列をnullにしたい場合、これを行うことはできません:
その後、空の配列にcstringを追加したい場合、チェックできません:
そして、これらのことができない場合は、正しい方法を教えてください...
c++ - 2つの文字列を比較しても、望ましい結果が得られないのはなぜですか?
以下は私が思いついたコードであり、正直なところ、今夜はコーディングの最初の試みです。if
ただし、ステートメントを正しく機能させることができないようです。Westley、westley、または(space)Westleyと入力しても、単に他の場所にジャンプします。
プログラムでチームメンバーの名前を受け入れられるようにしたいのですが、自分の名前が機能するようになり、後で残りの名前を追加できると思いました。どんな考えや助けも素晴らしいでしょう。また、補足として、それが他の場所に戻った場合は、それについての考えを最初に戻すために、ループしようとしていましたか?ありがとうございました
c - strcmp() は C で値を返します
私はstrcmp()
Cで学んでいます.2つの文字列が等しい場合、strcmp
0を返すことを理解しています.
しかし、strcmp
最初の文字列が 2 番目の文字列よりも小さい場合に 0 未満を返すとマニュアル ページに記載されている場合、それは長さ、ASCII 値、または何か他のものを参照しているのでしょうか?
c - 興味深い strcmp 実装の失敗。(ハ)
私は、C 標準ライブラリにアクセスできない小さなプロジェクトに取り組んでいます (ARM 構造でゼロからマイクロカーネルを構築します。printf も実装する必要がありました)。
この状況下で、Duff のマシン手法を使用して strcmp を実装しました。
以下はコード全体です。
それは理にかなっています。そして、エンドシステムの障害が発生するまで、しばらくの間、テストケースで機能しているように見えました. たどると、このstrcmpにたどり着きました。
最初は、最初に str1 をインクリメントしてから、str2 をインクリメントする前に str2 と比較したと思いました。1. そうではないことが判明しましたが、場合によってはそうなる可能性があることを確認していただけますか?
次に、問題が *str1 - *str2 にあると判断したため、1 を返すように変更しました。つまり、結果のコードは次のようになります。
私が望んでいたのは「等しい」チェックだけだったので、「1」に変更しても問題はありませんでしたが、元のコードが失敗した理由はまだ疑問に思っています。2. それがどのように失敗したかについて、誰かが光や提案を与えることができますか? strcmp は、str1 と str2 について詳しく説明するゼロ以外の値を返すという標準の C インターフェイスに従う必要があります。
テストケースは次のとおりです。
*program が "k3" の場合、"k1" が返され、"test_libc" は "perf" が返されました。
元の問題は「return 1」を与えることで解決されたため、この質問は純粋にCの関心事です。strcmp ドキュメントへの提案またはリンクも歓迎します。IEEE の仕様インターフェイスを見てきました