因此,在执行代码后,它不会退出,所以我认为我应该在末尾添加退出功能,但仍然不能退出程序。
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;
}
答案 0 :(得分:1)
根据其他建议,您应该阅读Minimal, Complete, and Verifiable example
现在要解释代码中的问题。
第一件事是您的整个代码。如果它不在main()
函数中,则return 0;
将不会退出程序,而是从方法中返回0
。
将退出程序的方法是exit(0);
,但由于它在return
之后而从未执行过
如果向上代码位于main()
内,由于它位于return 0
内,因此仍有可能到达if((c==255) && (d==255))
部分,因此,如果不满足该条件,您的代码将不会到达return