警告:格式'%c'需要'char *'类型的参数,但参数3的类型为'int'

时间:2014-03-17 19:11:19

标签: c

char *searcharray = malloc(size);
for (i = 0; i < size; i++)
{
  fscanf(filePtr, "%c", searcharray[i]);
}

这是我的代码。每次我都收到警告信息:

  

警告:格式'%c'需要'char *'类型的参数,但参数3的类型为'int'

如何将变量searcharray确定为int?

1 个答案:

答案 0 :(得分:11)

发生了什么:

  1. searcharray[i]的类型为char
  2. 在varargs函数中,char将被提升为int
  3. 你的错误:

    1. fscanf期望将数据放入的变量由指针传递。
    2. 所以你应该这样做:

      fscanf(filePtr, "%c", &searcharray[i]);