检查它是一个字符还是一个整数

标签 c char int

这是一个整数数组:

int values[] = { 75, '*', 5,'-' };

for(i=0 ; i<size ; i++){
    // Here
}

如何检查 values[i] 是整数还是运算??

也许这个值等于一个操作的Ascii,在这种情况下如何处理??

最佳答案

你不能。对于编译器而言,常量42'*'是一回事。在编译后的目标代码中,它们都表示为整数 42。

如果您需要区分整数和字符,请使用指示值类型的 bool 标志或枚举,或者将整数和字符保存在单独的数组中。

请注意,在 C++ 中,但在 C 中,不是,存在细微差别:42 的类型为 int,而 '*' 的类型为 char,因此您可以使用重载函数或模板来区分这一事实。

关于检查它是一个字符还是一个整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5160468/

相关文章:

c - c 如何将字符变量与字符串进行比较?

sql - 如何在 SQL 中将秒数转换为人类可读的持续时间?

c - 如何将未终止的字符数组输出到标准输出

c - 使用 Windows Spooler API 以编程方式打印 PDF 文件

c - 如何将包含多个变量的字符串分配给char数组?

C++ char* 到 int 错误

c - int **foo[][]() 中的 foo 是什么

c - 如何将 char 数组的值传递给 C 中另一个文件中的函数?

java - 在 Android 中将 int 转换为 byte

java - 使用循环将 int 转换为 string,然后再转换回 int