如何在一行中增加或减少 C 函数调用中的指针参数值?

2024-04-15

我有以下代码:

#include <stdio.h>

int foo2(int *px, int *py)
{
    int sum = *px + *py;
    *px = *px + 1;
    *py = *py - 1;
    printf("foo2 : res=%d x=%d y=%d\n", sum, *px, *py);
    return sum;
}

int main() {
    int x = 4, y = 7, res;
    res = foo2(&(x++), &(y--));
    printf("%d", res);

    return 0;
}

我需要增加x, 递减y,然后我需要将它们传递进去foo函数作为参数。

I have error: lvalue required as unary ‘&’ operand。我也尝试使用x + 1 and y - 1代替x++ and y++.

我怎样才能增加x and y值并将指针传递给它们foo2函数调用?是否可以?


您可以使用逗号运算符:

res = foo2((x++, &x), (y--, &y));

然而,这不是很可读,所以除非你有充分的理由,否则最好将其写为三个单独的语句:

x++;
y--;
res = foo2(&x, &y);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在一行中增加或减少 C 函数调用中的指针参数值? 的相关文章

随机推荐

  • 将外部数据源与 Cucumber 功能文件集成

    我是 Cucumber 及其用于 BDD 的功能文件的新手 我想知道是否有任何方法可以直接给出外部数据文件 例如 CSV 文件 的文件路径 并获取用于创建测试脚本的参数值 您可以向功能添加带有参数的标签 data path data jso
  • Retrofit 2.0 如何解析嵌套的 JSON 对象?

    我们的团队决定使用改造2 0 http square github io retrofit 我正在对这个库进行一些初步研究 如标题所述 我想通过 Android 应用程序中的 Retrofit 2 0 解析一些嵌套的 JSON 对象 例如
  • bash + for循环+输出索引号和元素

    这是我的数组 ARRAY one two three 如何打印数组以便得到如下输出 index i element i 使用printf or for我在下面使用的循环 1 one 2 two 3 three 一些笔记供我参考 打印数组的1
  • 如何在java中读取和写入对象到文本文件?

    我有一个对象数组 我想将它们写入文本文件中 这样我以后就可以将对象读回到数组中 我该怎么做呢 使用序列化 反序列化不起作用 public static void readdata ObjectInputStream input null t
  • 如何在 Chrome 扩展中加载 Google Analytics 和 Facebook SDK?

    我正在使用 Kango 框架开发 chrome 扩展 我想同时使用 Google Analytics 和 facebook SDK 我编辑了清单文件以包含以下内容 content security policy script src sel
  • 左边补零

    我想在字符串中向左填充每个数字 必须是 8 位数字 e g asd 123 rete gt asd 00000123 rete 4444 my text gt 00004444 my text 是否可以使用正则表达式来做到这一点 尤其Reg
  • 如何使用 Twitter Bootstrap 指定多个 javascript 模式参数?

    我有一个使用 Twitter Bootstrap 创建的模式 我想用javascript打开 现在我有以下内容 但是 我还想包括背景和键盘属性 Twitter 的文档将选项显示为 my modal modal keyboard true m
  • 自定义 SAML 应用程序出现 AWS SSO“无访问错误”

    我正在尝试使用 AWS SSO 设置自定义 SAML 2 0 应用程序 但是 我从网络选项卡中收到以下错误 Status code 403 message No access type com amazonaws switchboard p
  • Spring Boot:使用不同的 Tomcat 版本

    在 Spring Boot 文档中有一个部分将 Tomcat 7 x 或 8 0 与 Gradle 结合使用 https docs spring io spring boot docs current reference html howt
  • 从 Java 类生成 XML 模式(或相反)

    我想为我的项目生成一些 XML 模式 我有一些 Java 类 例如 package com fortresswars entity import com fortresswars entity properties Armor import
  • Corona/Box2D 检测与非移动静态物体的碰撞

    出于发帖原因 这是我正在尝试做的事情的简单版本 在屏幕上我有一个简单的圆形对象 它是静态的并且不会移动 然后用户可以拖放一条直线 如果该线穿过该圆圈 我希望触发碰撞事件 看来除非其中一个物体正在移动 否则永远不会检测到碰撞 绘制线条时能否检
  • 如何在 ggplot2 中围绕轴刻度标签创建一个框?

    出于多种原因 我试图复制下面所示的怪诞情节 它违反了良好数据可视化的许多规则 因此出于培训目的 我的目标是使用ggplot2并解构它 一次删除或修改一个选择不当的功能 使用底部复制的数据和图下方的代码 我已经接近目标 但无法弄清楚如何包含一
  • 通过数据管道截断 DynamoDb 或重写数据

    可以通过数据管道转储 DynamoDb 也可以将数据导入 DynamoDb 导入进展顺利 但数据始终附加到 DynamoDb 中已存在的数据 目前 我找到了扫描 DynamoDb 并逐一或通过批量删除项目的工作示例 但无论如何 对于大量数据
  • 高尔夫代码:ASCII 艺术编号 [重复]

    这个问题在这里已经有答案了 可能的重复 代码高尔夫 横幅生成 https stackoverflow com questions 2985540 code golf banner generation 发布您将数字转换为 ASCII 艺术数
  • 使用bluez5读取蓝牙低能耗信标的RSSI

    我想在 2 个蓝牙 le USB 适配器上同时读取蓝牙低功耗信标的 RSSI 我使用的是带有 bluez 5 和 LogiLink BT0015 适配器 CSR 芯片 的 fedora 20 系统 当仅连接一个适配器时 我的代码就像一个魅力
  • 如何从 SQL Server 全文索引返回的文本生成上下文文本摘录?

    我正在尝试使用 SQL Server 的全文索引的想法 它似乎非常适合这项任务 但我的客户想要的是一个非常像 Google 的结果摘要 其中结果显示文本的摘录围绕他们的搜索词 如果我搜索 房子 我的房子是一栋非常非常非常好的房子 http
  • AttributeError:模块“集合”没有属性“设置”

    我在尝试通过输入 python3 odoo bin odoo15 在 mac m1 上安装 odoo 时遇到问题 odoo python3 odoo bin odoo15 Traceback most recent call last Fi
  • 组合多个 UIImageView 并保持分辨率

    我正在设计一个应用程序 用户可以将多个 UIImageView 一个一个地放置 当用户决定将其保存到相册时 我必须组合所有这些 UIImageView 并将其保存到照片库 在组合它们时 我需要保留它们的位置 分辨率 zorder 我尝试的方
  • AngularJS 复选框在取消选中复选框时避免计数

    这是我在 Plunker 中运行的代码 https plnkr co edit AX051IiMsMD14AUBfMbr p preview 我遇到一个错误 当我取消选中答案时 我不想计算我们选择该答案的次数 我们只会在检查答案时才会统计数
  • 如何在一行中增加或减少 C 函数调用中的指针参数值?

    我有以下代码 include