3

例: strncmp("John", "Johny") この例は、3 番目のパラメーターがなくても機能するようです。

誰かがこれを少し説明できますか?Cのドキュメントに説明が見つかりません。

ありがとう。

4

2 に答える 2

5

関連するヘッダー ファイルをインクルードするのを忘れました:

#include <string.h>

すべてのコンパイラ警告を有効にして修正してください。

于 2013-11-11T22:13:42.447 に答える
2

推測しundefined behaviourます。C システムがnパラメーターを見つけることを期待している場合、両方のテスト文字列の長さよりも大きい数値を偶然見つけています。

言い換えれば、警告を無視したことが一部の原因で運が良かったということです。

于 2013-11-11T22:18:27.633 に答える