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);

08-20 00:35