我是C的新手,需要帮助解决这个问题。我想通过一个数组来检查数组的所有元素是否都是0-9的数字。如果他们不是,我想打印假,如果他们是,我想打印真实。由于某种原因,我的if语句被跳过,而我刚刚返回false五次。谢谢!
#include <stdio.h>
int main()
{
int array[5] = {1, 2, 3, 15, 24};
int i;
for (i = 0; i < 5; i++) {
if (array[i] >= '0' && array[i] <= '9') {
printf("True\n");
}
else
{
printf("False\n");
}
}
}
答案 0 :(得分:3)
数组的所有元素都不在'0'之上,因为'0'在ASCII中是十进制的。
因此,对于您的示例,最高int为24,没有一个元素满足您的if
条件。
将其更改为:
if (array[i] >= 0 && array[i] <= 9) {
答案 1 :(得分:0)
删除''
,因为您没有使用字符串。
相反,使用这个:
if (array[i] >= 0 && array[i] <= 9) {