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

标签 c operands

我正在尝试将算术操作数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**
  • 您正在比较 charstrcmp 中的 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/

相关文章:

types - 在 Swift 中将有符号转换为无符号

c++ - 映射运算符 [] 操作数

c++ - 我在 unix 中编译代码时遇到编译器错误

java - 显示 # 的 1 - 1000 不能被 13 整除?在 java

c++ - 使用重载运算符的二进制表达式的无效操作数

java - 操作数类型错误

c - "concatenation" block 内的字符串 'for'

比较 float 和 double

c - 如何从内核模块添加系统调用?

c - 这些重复的 GUI 元素从何而来?