这是一个整数数组:
int values[] = { 75, '*', 5,'-' };
for(i=0 ; i<size ; i++){
// Here
}
Run Code Online (Sandbox Code Playgroud)
如何检查values[i]是整数还是操作?
也许这个值等于一个操作的Ascii,在这种情况下如何处理它?
你不能.就编译器而言,常量42a '*'是同一个.在编译的目标代码中,它们都表示为整数42.
如果需要区分整数和字符,可以使用布尔标志或枚举来指示值的类型,或者将整数和字符保存在单独的数组中.
请注意,在C++中,但不是在C中,存在一些细微差别:42具有类型int,而'*'具有类型char,因此您可以使用重载函数或模板来区分此事实.
| 归档时间: |
|
| 查看次数: |
413 次 |
| 最近记录: |