将指针值与C中的星号进行比较

时间:2015-09-23 01:16:16

标签: c

我正在尝试检测是否已传递参数的初学者等于数组中的一个字符。争论的格式是integer -> operator -> integer

出于某种原因,只要给出*字符,我的程序就无法检测到它;或者它没有回应它。现在我知道*用于取消引用指针,但是如何让指针获取*的值

char operators[] = {'*','+','/','-','%'};
int possibleAmountOfOperators = sizeof(operators) / sizeof(char);
int i = 0;

for( i = 0; i < possibleAmountOfOperators; i++){
  if(*type_of_arg[2] == operators[i]){
    return 1;
  }
}

1 个答案:

答案 0 :(得分:3)

我猜你的问题不是你的程序,而是它的调用。当您将其作为参数传递时尝试引用*,以便它不会被shell扩展。