1

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

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

但这不起作用。似乎“+”没有进入变量plus,也没有使用scanf. 这有什么诀窍吗?

4

1 回答 1

4

里面有多个错误:

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

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

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

if(plus == c)
  printf("you have + in variable");
于 2015-11-07T01:44:55.333 回答