bool isValidId(int* id)
{
if(log10(*id) != 6)
{
return false;
}
return true;
}
printf("Enter ID: ");
gets(input);
c.id = atoi(input);
validID= isValidId(c.id);
if(!validID)
{
printf("Invalid ID format -(Use example 123456 format). \n");
}
现在是这样的。我要求用户输入一个ID并使用isValidId方法检查它是否有效,但是输入ID时我的程序崩溃了。请帮忙!谢谢
最佳答案
return *id >= 100000 && *id < 1000000;
我认为这可能是一个很好的解决方案,既易于阅读又高效。
如果您只是想判断它是否是有效的ID,则无需获取其长度
程序崩溃,因为isValidId的参数是指向int而不是int的指针,因此
validID = isValidId(c.id);
应该
validID = isValidId(&c.id);