当我使用调试器时,我可以告诉退出没有退出该功能.我使用退出功能错了吗?(我必须)我该如何解决这个问题?
int is_prime(int x,char array[]){
int divider = (x-1);
float test;
while(x>-1){
test = isdigit((x % divider)); //isdigit returns !0 if digit
if(divider == '1'){
return(1); //if divider reaches 1 then the number is prime
exit;
}
if(test == '0'){
return (0);//not prime
exit;
}
divider--;
}
Run Code Online (Sandbox Code Playgroud)
}
函数的名称本身(后面没有括号)只是给你一个函数的地址而不调用它.在C中,最基本的语句是一个表达式,它的副作用被评估,表达式的结果值被忽略.因此,类似exit;或3;没有副作用的声明是合法的,但实际上并没有做任何事情,也可能被删除.有些编译器会给你关于这些毫无意义的语句的警告,尽管你可能需要打开额外的诊断警告来获取它们.使用这些选项(例如-Wallfor gcc)是一个非常好的主意,可以帮助你避免这样的陷阱.