我相信这是唯一相关的信息:
sscanf("%d:%d:%d", zombies[i].hour, zombies[i].min, zombies[i].sec);
这显然是错误的。我不确定为什么。我已尝试阅读联机帮助页,显然我需要格式化,但我不明白如何。
注意
僵尸[i].hour,
僵尸[i].min 和
zombies[i].sec 来自结构数组,
具体的元素是一个整数。
编译器说我正在从一个没有转换的整数中创建一个指针。
这是什么意思?如何正确使用它?
最佳答案
就像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);
这没有意义。
关于c - 如何正确使用 sscanf?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33029519/