Код, генерирующий предупреждение, передающий аргумент 1 'isHex' с другой шириной из-за прототипа:
/* Checks if a character is either 0-9 or A-F */
int isHex(char ch) {
return isdigit(ch) || (ch >= 65 && ch <= 70);
}
/* Checks if a string only contains numeric characters or A-F */
int strIsHex(char * str) {
char *ch;
size_t len = strlen(str);
for(ch=str;ch<(str+len);ch++) {
if (!isHex(*ch)) return 0;
}
return 1;
}
Что это означает, не должны ли значения char
быть одинаковой ширины? Как я могу привести их к одинаковой ширине, чтобы предотвратить это предупреждение?
Кстати, команда gcc была такой: gcc.exe -std = c99 -fgnu89-inline -pedantic-errors -Wno- long-long -Wall -Wextra -Wconversion -Wshadow -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -fshort-enums -gstabs -l "C: \ program files \ quincy \ mingw \ include" -o main.o -c main.c
Я не могу удалить какие-либо параметры предупреждений из gcc, поскольку одним из критериев маркировки для назначения является отсутствие ошибок или предупреждений с этой командой.
Спасибо.