为什么在我的代码中,当我打印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/