检查它的char或整数

Ram*_*rar 0 c int char

这是一个整数数组:

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

for(i=0 ; i<size ; i++){
    // Here
}
Run Code Online (Sandbox Code Playgroud)

如何检查values[i]是整数还是操作?

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

Ada*_*eld 8

你不能.就编译器而言,常量42a '*'是同一个.在编译的目标代码中,它们都表示为整数42.

如果需要区分整数和字符,可以使用布尔标志或枚举来指示值的类型,或者将整数和字符保存在单独的数组中.

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

  • @Rami:解决它的方法是重新设计代码.不要使用`int`数组,使用包含所需信息的更复杂的结构. (4认同)