为什么在我的代码中,当我打印isdigit()为0时,sum函数不起作用?
p.s我包含<ctype> lib

int main(void)
{
  int sum = 0;
  int prvi = 0;
  int drugi = 0;

   prvi = 1;
   drugi = 2;

            if ( isdigit(prvi) && isdigit(drugi) )
                sum = prvi + drugi;

    printf("sum: %d \n",sum);
}

最佳答案

isdigit用于检查字符是否为十进制数字-我不清楚我使用的是什么字符表,但是我不知道任何以1和2为字符的字符表。例如,尝试使用48和49,它们是“ 0”和“ 1”的ASCII值。至少在使用ASCII的情况下,这两个都应使isdigit返回非零结果。

如果没有文本数据,则无需调用isdigit。目前尚不清楚您真正想要实现的目标,但我怀疑是一个红鲱鱼...

关于c - 当我用函数isdigit()检查两个整数时,第一个= 1,第二个= 2,它给我错误的结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26690214/

10-12 17:08