#include<stdio.h>
int main(){
int n,sign;
scanf("%d",&n);
if(n<0){
sign=-1;
}else if(n=0){
sign=0;
}else{
sign=1;
}
printf("sign(%d) = %d",n,sign);
return 0;
}
为什么输入是0的时候,sign=1?
else if(n=0)这里改成else if(n==0)
因为你 n=0
是赋值语句。
应该改成n==0
n=0 --> n==0
n=0 , 0 做 false 处理了