c - 循环操作

标签 c for-loop function-calls

我想写这样的东西;

for (op1 in (plus, minus, times, divby, exponent)) {
    printf("%d", a op1 b);
}

所以最终实际执行的是这样的

printf("%d", a + b);
printf("%d", a - b);
printf("%d", a * b);
printf("%d", a / b);
printf("%d", a ^ b);

这个怎么写?

最佳答案

由于您没有发布任何代码,我不会编写任何代码,但很乐意帮助您解决一些概念,您可以将这些概念转化为工作代码。

  1. 编写函数来执行单独的操作(加法、减法、乘法等)。

  2. 获取 function pointers 的数组,使用您要执行的各个功能对其进行初始化。

  3. 遍历数组并将所需的变量传递给函数调用以获得所需的输出。

类似(伪代码)

funcptr arr[SIZE] = { func1, func2, func3... };

for (int i = 0; i < SIZE ; i++) {
    printf("%d\n", arr[i](a, b));
}

也就是说,请注意,a ^ b 不是 C 中的“指数” 运算符,正如您可能预料的那样。它是按位异或。您可以使用 pow()完成这项工作。

仅供引用,可以引用this question获取相关信息。

关于c - 循环操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41322813/

相关文章:

java - 声明具有 2 个 for 循环的 2D 数组 : Java

c++ - 围绕函数调用解析的混淆

c - 如果我不在函数中使用 printf 或动态分配,我无法调用函数。为什么?

尝试编译 HPCC 基准测试时无法链接到 BLAS/ATLAS

c - 为什么指针值有时为负数?

c++ - 将\a 放在输出流上不会产生声音

javascript - 带有 SNS 消息的 Javascript 中的 For 循环

c - 初始化结构元素数组时出错

programming-languages - 使用 "strange"函数调用的任何编程语言?

JavaScript 改变函数参数并用于 function.apply