Я пытаюсь напечатать все символы, хранящиеся в шестнадцатеричном массиве, на экране один за другим, но я получаю это странное ошибка в строке 16. Насколько я знаю,% c должен ожидать char, а не int. Почему я получаю эту ошибку? Ниже мой код, спасибо.warning: format '% c' ожидает тип 'int', но аргумент 2 имеет тип 'char *'
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#include <ctype.h>
#include <string.h>
int main()
{
char hex[8] = "cf0a441f";
int hexCounter;
char *currentHex;
for(hexCounter=0; hexCounter<strlen(hex); hexCounter++)
{
currentHex = &hex[hexCounter];
printf("%c",currentHex);
}
return 0;
}
'hex' должен быть объявлен как' char hex [9] ', а не' [8] '. Вы забыли нулевой терминатор. – Gandaro