“%s需要char *类型的参数,但参数3的类型为char(*)[9]”

时间:2013-12-07 01:55:22

标签: c

所以这是我第一次使用scanf()进行输入,我不知道是什么导致了这个错误。看起来字符数组没有被识别为正确的数据类型,因为它具有最大长度,但据我所知,没有其他方法可以在c中声明字符串...这是代码:

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#include "health.h"

Chartptr patientList = NULL;    /* Define global variable patientList (declared in health.h) */
                                /* patientList is globaly accessible in health_util.c    */

void main(){

printf("Welcome to the Health Monitoring System\n\n");

int id, type;
double value;
char time[MAXTIME + 1];
scanf("%d, %s, %d, %lf", &id, &time, &type, &value);
printf("--------------------------------------------------\n");
printf("%s: Patient ID = %d checking in", time, id);
addPatient(id);
printf("--------------------------------------------------\n");
printf("\nEnd of Input\n");

}

1 个答案:

答案 0 :(得分:4)

&time来电中将time更改为scanf

s转换说明符需要指向char的指针,但您传递的指针指向char数组。