Online Compiler C

#include <stdio.h> int main() { int a[10]; int b[10]; for (int i = 0; i < 10; i++) { scanf("%d", &a[i]); } for (int i = 0; i < 10; i++) { for(int j=0;j<10;j++){ if (a[i]%10=j) printf a[i]; } } return 0; }
这段代码试图读取10个整数,然后找出其中个位数字等于某个值的数并打印。但代码中存在语法错误和逻辑问题。

- 在第12行,`if (a[i]%10=j)` 中使用了赋值运算符 `=` 而不是比较运算符 `==`,并且 `j` 是循环变量,这里可能想表达的是判断个位数字等于某个特定值,但写法不正确。
- 在第13行,`printf a[i];` 缺少括号和格式说明符,正确的写法应该是 `printf("%d", a[i]);`。

提示:
- 检查 `if` 条件中的运算符,比较两个值是否相等应该用 `==`,而不是 `=`。
- 打印变量时,`printf` 需要格式字符串和参数列表,例如 `printf("%d", a[i]);`。