Онлайн компилятор C

#include <stdio.h> int main() {int n,a=2; scanf("%d",&n); if (n==2){ printf("YES"); }return 0; if (n==1||0){ printf("NO"); }return o; while (a<n){ if (n%a==0){ printf("NO"); return 0; } a++;} {printf("YES");} return 0; }
这段代码试图判断一个整数是否为质数,但存在多个逻辑和语法错误。

- 代码中出现了 `return 0;` 在 `if (n==2)` 之后,这会导致程序在输入2时直接结束,不会执行后面的判断。你需要理解 `return` 语句会立即退出整个函数,所以不能随意放在中间。
- 条件 `if (n==1||0)` 是错误的,因为 `||0` 在这里被解释为逻辑或0,实际上永远为真。你应该写成 `if (n==1 || n==0)` 来分别判断n等于1或0的情况。
- 变量 `o` 未定义,应该是 `return 0;` 的笔误。