[解決済み] 警告: 配列の添え字は char 型です
2022-02-16 15:57:09
質問
このプログラムを実行すると、「配列の添え字の型は 'char'" である」という警告が表示されます。 どこが悪いのか、教えてください。私はcode::blocks IDEを使用しています。
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
void NoFive()
{
long long int cal;
char alpha[25];
char given[100] = "the quick brown fox jumped over the cow";
int num[25];
int i, k;
char j;
j = 'a';
k = 26;
cal = 1;
for(i = 0; i <= 25; i++)
{
alpha[i] = j++;
num[i] = k--;
// printf("%c = %d \n", alpha[i], num[i]);
}
for(i = 0; i <= (strlen(given) - 1); i++)
{
for(j = 0; j <= 25; j++)
{
if(given[i] == alpha[j]) ***//Warning array subscript has type char***
{
cal = cal * num [j]; ***//Warning array subscript has type char***
}
else
{
}
}
}
printf(" The value of cal is %I64u ", cal);
}
main()
{
NoFive();
}
解決方法は?
簡単、変更
char j;
になります。
unsigned char j;
または、単なる
(u)int
unsigned int j;
int j;
から GCC警告
-Wchar-subscripts(ワッチャールサブスクリプト 配列の添え字がchar型である場合に警告を表示します。これは、よくあるエラーの原因です。 プログラマはしばしばこの型が 一部のマシンでは . この警告は、-Wallで有効になります。
コンパイラは、不用意に負の配列インデックスを指定することを望んでいないのです。そのため、このような警告が表示されるのです。
関連
-
[解決済み】エラー:cの入力の最後に期待される宣言またはステートメント
-
[解決済み】Valgrind が "Invalid write of size 8" で文句を言う。
-
[解決済み] strtokのセグメンテーションフォールト
-
[解決済み】ヒープ割り当てで初期化されていない値が作成された
-
[解決済み】EAGAINとはどういう意味ですか?
-
[解決済み】malloc():メモリ破壊
-
[解決済み】C言語のフォーマット文字列でデータ引数が使用されない [重複]。
-
[解決済み] エラー: `itoa` はこのスコープで宣言されていません。
-
[解決済み】Linuxソケットのwrite()でBad File Descriptorが発生するC
-
[解決済み] C言語で配列のサイズを決定するにはどうすればよいですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】stdinとSTDIN_FILENOの違いは何ですか?
-
[解決済み】 `S_ISREG()` とは何ですか、そして何をするのですか?
-
[解決済み】警告:互換性のないポインタ型からの代入
-
[解決済み】エラー。非スカラー型への変換を要求された
-
[解決済み】 「配列のイニシャライザーはイニシャライザーリストまたは文字列リテラルでなければなりません」と表示されるのですが?
-
[解決済み】fgetsによるセグメンテーションフォールト(コアダンプ) - と思う。
-
[解決済み】なぜか。"エラー: 配列型を持つ式への代入"
-
[解決済み】Errno: 11, Resource Temporarily Unavailable(リソースが一時的に利用できない
-
[解決済み】シンプルなC言語のscanfが機能しない?重複
-
[解決済み】c - 警告:関数 'printf'の暗黙の宣言