char *searcharray = malloc(size);
for (i = 0; i < size; i++)
{
fscanf(filePtr, "%c", searcharray[i]);
}
这是我的代码。每次我都会收到警告信息:警告:格式“%c”期望类型为'char *'的参数,但参数3的类型为'int'
变量searcharray被确定为int类型了吗?
char *searcharray = malloc(size);
for (i = 0; i < size; i++)
{
fscanf(filePtr, "%c", searcharray[i]);
}
这是我的代码。每次我都会收到警告信息:searcharray[i]
的类型是 char
。char
类型将会转换为 int
。fscanf
希望接收到指向变量的指针来存储数据。所以你应该这样做:
fscanf(filePtr, "%c", &searcharray[i]);
(searcharray + i)
- ciphermagichar*
,它“匹配一个由最大字段宽度(默认为1)指定长度的字符序列;下一个指针必须是指向char的指针...” - Adrian Ratnapala