我正在尝试将算术操作数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
with%c
需要一个char*
但你提供的是一个char**
- 您正在比较
char
和strcmp
中的char*
如果您正在处理单字符运算符,则无需做比现在更复杂的事情:
char plus = '+';
char c;
scanf("%c",&c);
if(plus == c)
printf("you have + in variable");
关于c - 扫描算术操作数 c 并将它们与字符串进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33578204/