退出功能不符合我的预期

时间:2018-11-29 20:48:42

标签: c

因此,在执行代码后,它不会退出,所以我认为我应该在末尾添加退出功能,但仍然不能退出程序。

  if(bclass)
  {
 if(d==0) printf("Scanez %d.%d.%d.*\n",a,b,c);
 d++;
 if(d>255)
 {
  c++;d=0;
 }
 sprintf(ip,"%d.%d.%d.%d",a,b,c,d);
 if((c==255) && (d==255))                                                           {
  printf("%s\n",ip);                                                                 printf("[+] Scanarea s-a incheiat cu succes!\n");
  sleep(10);
  kill(pid,2);
  exit(0);
  return 0;
 }
 sc.s_addr=inet_addr(ip);
 dstip=sc.s_addr;
  }

1 个答案:

答案 0 :(得分:1)

根据其他建议,您应该阅读Minimal, Complete, and Verifiable example

现在要解释代码中的问题。

第一件事是您的整个代码。如果它不在main()函数中,则return 0;将不会退出程序,而是从方法中返回0

将退出程序的方法是exit(0);,但由于它在return之后而从未执行过

如果向上代码位于main()内,由于它位于return 0内,因此仍有可能到达if((c==255) && (d==255))部分,因此,如果不满足该条件,您的代码将不会到达return