扫描算术操作数 c 并将它们与字符串进行比较

scan arithmetic operands c and compare them with string

我正在尝试 scanf 算术操作数转换为变量。我想将“+”放入变量中。我尝试了我发现的一切,但到目前为止没有任何效果。我带来的最好的东西是:

char plus = "+";
char* c;
scanf("%c", &c);
if (strcmp(plus, c) == 0) {
    printf("you have + in variable");

但这不起作用。似乎“+”没有进入变量 plus,也没有使用 scanf 扫描到变量。有什么技巧吗?

里面有多个错误:

  • 您声明了一个 char plus 并使用 char*(而不是 char)对其进行了初始化。
  • scanf%c 期望 char* 但您提供的是 char**
  • 您正在比较 charstrcmp
  • 中的 char*

如果您处理的是单字符运算符,则无需做比现在更复杂的事情:

char plus = '+';
char c;
scanf("%c",&c);

if(plus == c)
  printf("you have + in variable");