gpt4 book ai didi

c - isdigit() 在 C 中未评估为真

转载 作者:太空宇宙 更新时间:2023-11-04 00:30:52 25 4
gpt4 key购买 nike

我现在试了半个小时都没成功...它一定很简单,但我无法弄清楚我做错了什么:isdigit() 未评估为 true

#include <stdio.h>
#include <ctype.h>

main()
{

int a = 2;

if (isdigit(a))
{
printf("\ncorrect\n");
}
else
{
printf("\nnot correct\n");
}//end if


}// end main

我尝试了所有想到的事情

if  (isdigit(a) == true) 
if (isdigit(a) != false)
if (isdigit(a) != 0)
if (isdigit(a) == 1)
if (isdigit(2))
if (isdigit(2) == 2)
if (isdigit(2) == true)

没有成功...注意:它肯定会编译,我通过插入各种不同的打印语句来确保。

最佳答案

你误解了isdigit的用法。

int a = '2';
isdigit(a);

如果你传递一个数字给它,比如 isdigit(2),它会将 2 作为当前语言环境字符集中字符的代码(例如. ASCII码2STX, START OF THE TEXT, 这显然不是数字).

关于c - isdigit() 在 C 中未评估为真,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17983897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com