所以这是我第一次使用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");
}
答案 0 :(得分:4)
在&time
来电中将time
更改为scanf
。
s
转换说明符需要指向char
的指针,但您传递的指针指向char
数组。