我相信这是唯一的相关信息:
sscanf("%d:%d:%d", zombies[i].hour, zombies[i].min, zombies[i].sec);
这显然是错误的。我不确定为什么。我试过阅读联机帮助页,显然我需要格式化,但我不明白如何。
请注意
zombies [i] .hour,
zombies [i] .min和
zombies [i] .sec来自结构数组,
具体元素是整数。
编译器说我是在没有强制转换的情况下从一个整数制作指针。
这是什么意思?我该如何正确使用它?
答案 0 :(得分:3)
就像scanf
一样,您需要传递sscanf
可用于存储读取值的指针。您还必须传递一个字符串以从中读取值。
sscanf("1:2:3", "%d:%d:%d", &zombies[i].hour, &zombies[i].min, &zombies[i].sec);
如果你没有传递指针,那么你只是传递一个值,所以如果zombies[i].hour
的当前值恰好是45,那么它就类似于:
scanf("%d", 45);
没有任何意义。