我试图将存储在十六进制数组中的所有字符逐个打印到屏幕上,但我得到了这个奇怪的错误在第16行。据我所知,%c应该是一个字符,而不是一个int。 为什么我得到这个错误? 以下是我的代码,谢谢。警告:格式'%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