我的C
代码存在很多问题。我使用此功能将数据保存到array
:
/**
* Insert Data into array
* @param char[] pointer
*/
void insertData(char **data) {
int i;
for (i = 0; i < 2; i++) {
data[i] = malloc(10000);
printf("Nombre del paciente %d: ", i+1);
scanf("%s", &data[i][0]);
printf("Habitacion: ");
scanf("%s", &data[i][1]);
printf("Cama: ");
scanf("%s", &data[i][2]);
free(*data);
}
}
我的变量数据是:char data[2][3];
我试图用下一个功能显示这些数据:
void mostrarResultados(char **data) {
int i,j;
for (i = 0; i < 2; i++) {
printf("\n");
for (j = 0; j < 3; j++) {
printf("%c ", data[i,j], **data);
}
}
}
我做错了什么?
对于这些函数,我这样称呼它们:
//First menu
do{
switch (option){
case 1:
insertData(data);
setFirstTime(false);
mostrarResultados(data);
break;
case 2:
exit(0);
break;
}
} while (option == 0);
}
非常感谢你的帮助!
答案 0 :(得分:1)
我认为您最好使用结构来保存数据。喜欢
Struct data {
char nombre[32];
Char habitacion[32];
char cama[32];
}
并且malloc结构malloc(sizeof(struct data)* nr你想要的结构)
答案 1 :(得分:0)
使用C或C ++编程时,必须启用编译器警告,理解它们并正确修复它们。其他一切都是不负责任的。
在这种情况下,编译器将警告printf调用,因为您传递的参数类型(和数量)错误。