我目前正在开发一个项目,我需要做一些非常具体的工作。我需要使用char数组存储database
的值,但我还需要将乘法的值存储在最后一个槽中,我不知道如何执行此操作。投射char变量并乘以它似乎在int
上存储垃圾,因为我得到值的方式应该是它的范围。我尝试过的另一个建议是使用memset()
手动设置值,但我不知道如何去做。将存储在数组中的char类型转换为int变量
这里是我的代码
int form_fill(int room_ID, char database[rooms * floors * req_data][20]) {
printf ("Enter the first name\n");
fflush(stdin);
gets (database[room_ID]);
printf ("Enter the second name\n");
gets (database[room_ID + 1]);
printf ("Enter the third name\n");
gets (database[room_ID + 2]);
printf ("How many days will the guest stay?\n");
}
理想情况下,天用户输入将被存储在database[room_ID + 3]
作为char
和更早全球声明的另一个变量,存储结果相乘,作为char
,在database[room_ID + 4]
。 任何人有任何解决方案?
ps。我知道使用gets是不安全的,但那是老师问的,所以我必须这样做。
'fflush(stdin);'---未定义的行为。 –
[FYR]'gets()'是**邪恶**,使用'fgets()'。 –
“我知道使用gets是不安全的,但那是老师问的,所以我必须这样做。” - *总是质疑老师,他们可能会发现新的东西* –