【发布时间】:2020-06-24 01:18:32
【问题描述】:
我正在用 C 语言编写这个获取联系信息的程序。我将struct 中的struct 的指针传递给一个获取地址信息的函数,但是当将信息扫描到指针位置时,我得到一个调试错误。
这是我的代码:
void getAddress(struct Address* address)
{
// Street Number
do // Validate the street number
{
printf("Please enter the contact’s street number: ");
scanf("%d", address->streetNumber); //<----where the error is
} while (address->streetNumber <= 0);
clearIS(); // Clears input stream
【问题讨论】:
-
传递一个指向
streetNumber的指针,而不是变量的值:scanf("%d", &address->streetNumber); -
您显示的代码中没有断言。
-
@jarmod 它可能是scanf的库实现中的东西
-
@M.M 看起来确实如此,也许就像
address->streetNumber为零一样简单。我很惊讶地看到断言在运行时库中处于活动状态。