这可能是一个新手问题,我之前看到过类似的问题,但我希望有人能帮助我。下面是一个小的(希望是)说明性代码。我想让两个函数共享一些代码。他们都会有一个测试,归结为:if(int operator int)。应该可以用指针来描述操作符,然后在测试中使用指针指向的东西,不应该吗?
func1(){
func3(1)
}
func2(){
func3(2);
}
func3(int type){
char *op;
int value1;
int value2;
switch (type){
case 1:
op = ">";
value1 = 1;
value2 = 3;
break;
case 2:
op = "=";
value1 = 2;
value2 = 5;
break;
}
if (value1 *op value2){
do something
}
}
我发现 > 在文本到二进制计算器中被转换为 62(十进制),但这打印出 60 - 为什么?
char *p = "<";
printf("%d\n", *p);