[解決済み] C言語におけるポインタと整数の比較
2022-02-08 05:14:39
質問
C言語でのプログラムについて、少し愚かな質問があります。 警告: ポインタと整数の比較 . なぜなのか、本当にわかりません。 私は各文字を画面に書きたいだけなのです。
私のコード
int i = 0;
char str[50] = {'s', 'a', 'm', 'p','l','e'}; //only for test
while (str[i] != NULL) {
putchar(str[i]);
i++;
}
助けてください。インターネットでは有用な回答が見つかりませんでした。
解決方法を教えてください。
NULL
はポインターであり
str[i]
はstr配列のi番目の文字です。charは整数型であり、比較すると警告が出ます。
文字列の終わりをチェックしたいのであれば、値0(文字列の終わり)を持つ文字列をチェックすればよいのでしょう。
'\0'
.
しかし、文字列としてではなく、単に文字の配列として定義しているため、これは役に立ちません。また、文字配列の終端である0を定義していません(暗黙的に定義されているのは幸運です)。
PS: 次回は、少なくともコンパイラが文句を言っているところの情報を提供すべきです。
関連
-
[解決済み】組み込み関数「malloc」の暗黙の宣言の非互換性
-
[解決済み】警告:組み込み関数'printf'の非互換な暗黙の宣言(デフォルトで有効]
-
[解決済み] char pointers: 'char*' から 'char' への無効な変換?
-
[解決済み】makefile:4。*** missing separator. 停止する
-
[解決済み】警告:式の結果が未使用の場合
-
[解決済み] 1ビットのセット、クリア、トグルはどのように行うのですか?
-
[解決済み] static_cast, dynamic_cast, const_cast, reinterpret_cast はいつ使うべきですか?
-
[解決済み] スマートポインターとは何ですか?
-
[解決済み] なぜ、オブジェクトそのものではなく、ポインタを使用しなければならないのですか?
-
[解決済み] const int*、const int * const、int const *の違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Valgrind が "Invalid write of size 8" で文句を言う。
-
[解決済み】Cコンパイルエラーです。Idは1終了ステータスを返した
-
[解決済み] strtokのセグメンテーションフォールト
-
[解決済み】Cygwin - Makefile-error: ターゲット `main.o' のレシピに失敗しました。
-
[解決済み] struct has no member named
-
[解決済み】LinuxのI_PUSHに相当するもの
-
[解決済み] テスト
-
[解決済み】なぜか。"エラー: 配列型を持つ式への代入"
-
[解決済み】Makefile:1: ***セパレータがありません。停止します。
-
[解決済み】makefile:4。*** missing separator. 停止する