C 连接运算符与 + 运算符

Posted

技术标签:

【中文标题】C 连接运算符与 + 运算符【英文标题】:C Concatenate Operator vs + Operator 【发布时间】:2017-03-29 23:31:03 【问题描述】:

我想像这样使用连接作为数学运算符关键字

 #include <stdio.h>

 void main() 
     int a = 15;
     int b = 15;
     char var = '+';

     printf("result: %d", (a, var, b));

     return 0;
 

【问题讨论】:

我想要一千万美元。或者二十…… C 不是这样工作的。包含运算符的字符串不像运算符。 【参考方案1】:

如何从 shell 获得一些帮助:

#include <stdio.h>
#include <stdlib.h>

 int main(void) 
     char buf[80];
     int a = 15;
     int b = 15;
     char var = '+';

     snprintf(buf, sizeof buf, "echo $[%d%c%d]", a, var, b); 
     return system(buf);
 

它适用于 unix 和 OS/X。我不了解 Windows,但我听说他们现在发布了 bash。支持许多运算符:+-*/%^|&amp; 以及 ,&gt; 和@9332@。 /p>

【讨论】:

【参考方案2】:

你可以的

#include <stdio.h>
void main(char **argv, int argc) 
   int a = 15;
   int b = 15;
   char var = '+';
   if (var == '+')  // Check to see if it is a '+' and then add if so
      printf("result: %d\n", a + b); // the \n prints a newline
   
   return 0;

对于每个运算符。您可以考虑使用 flex 之类的东西来解析令牌。

【讨论】:

为什么对这个答案投反对票?为什么在这个问题上?我们不是都来过一次吗? Milliennium Bug 看,问题是我想得到两个数字和想要的操作(作为字符'+'或'-'..等)然后我需要在不使用条件的情况下进行计算在操作中 就像这样:#include void main(char **argv, int argc) int a = 15;诠释 b = 5;字符变量 = '+'; //这是作为字符的操作 printf("result: %d\n", ??); 返回 0; 不能用标准库在C语言中完成;这就是它在标准库中的实现方式(除了 100 行以上)。 算法呢?你能提供谁能做到这一点的算法吗?提前致谢

以上是关于C 连接运算符与 + 运算符的主要内容,如果未能解决你的问题,请参考以下文章

算数运算符

为啥 C 在使用条件运算符时不允许连接字符串?

C语言关系运算和逻辑运算

C语言关系运算和逻辑运算

什么是逻辑运算符

VB里 运算符Mod与*先后顺序怎样