这个是个错误if语句,如何写才是正确的

#include <stdio.h>
int main()
{
​int n;
​printf("请输入一个整数:");
​scanf("%d",&n);
​if (n>0);
​printf("输入的n为正整数。\n");
​if (n=0)
​printf("输入的n为零。\n");
​if (n<0)
​printf("输入的n为负整数。\n");
​return 0;
}

传值使用&吗?

#include <stdio.h>
int main()
{
​    int n;
    ​printf("请输入一个整数:");
​    scanf("%d",&n);
    ​if (n>0)
​        printf("输入的n为正整数。\n");
    ​if (n=0)
​        printf("输入的n为零。\n");
    ​if (n<0)
​        printf("输入的n为负整数。\n");
​    return 0;
}