Online Compiler C

#include <stdio.h> int main() { int a[10]; for(int i=0;i<10;i++){ scanf("%d",&a[i]); } for(int i=0;i<10;i++){ if((a[i]/10)%10 == 0) { printf("%d",a[i]); } } return 0; }
这段代码的作用是:先读取10个整数存入数组,然后输出其中十位数字为0的数。但判断十位数字的逻辑可能有问题。

- 你的条件 `(a[i]/10)%10 == 0` 实际上是在判断数字的百位是否为0,而不是十位。因为先除以10去掉个位,再取模10得到的是原数的十位数字,但这里你多除了一个10,变成了百位。
- 另外,如果数字是负数,除法运算的结果可能不符合你的预期,需要考虑负数的情况。