我正在编码以下if语句:
if(chars[a]== char)
{
do sth;
}
我的目的是测试chars数组中的元素是否为字符,如果是,请对其进行操作。在Python之类的语言中,有用于查找数据类型的类型函数。 C没有那些。在这种情况下,如何在C语言中执行上述操作?
答案 0 :(得分:2)
字符数组中的所有项目均为char类型。也许您的意思是检查它们是否为可打印字符,在这种情况下,您可以使用if (isprint(char[a])) {...}
。
isprint()
与其他字符类测试一起在<ctype.h>
中定义。
根据您的评论,您似乎在寻找isalnum()
答案 1 :(得分:1)
正如在其他地方观察到的,char数组中的任何内容都是char。如果要查看字母或字符,请查看isdigit()和isalpha()。
有一个C'ism:如果您想知道列表中是否有字符,请说“ asdfjkl”即可运行
{
"type": "received",
"time": "2014-11-09T08:19:27.028459Z",
"product_id": "BTC-USD",
"sequence": 12,
"order_id": "dddec984-77a8-460a-b958-66f114b0de9b",
"funds": "3000.234",
"side": "buy",
"order_type": "market"
}
如果找不到字符,strchr函数将返回null。在这种情况下,您不必关心哪一个匹配,即使列表中有匹配项,也请检查if(strchr("asdfjkl",chars[a]) != NULL )
{
oneOfThem();
}
。如果您是极简主义的程序员,则也可以输入!= NULL
来执行相同的操作。
答案 2 :(得分:0)
C是一种静态类型的语言。保证在运行时声明为某种类型的任何变量都是该类型。