gpt4 book ai didi

c - C : increment/decrement va_arg? 中的参数列表

转载 作者:太空宇宙 更新时间:2023-11-04 02:37:57 26 4
gpt4 key购买 nike

在参数列表中调用 va_arg 时,我试图访问下一个或上一个元素。 “n”实际上是参数列表的长度。

va_list pointer;

va_start(pointer, n);
int temp = va_arg(pointer, int);
...
if(temp < va_arg(pointer, int))...
...

void va_end(va_list pointer)

实际上可以交换参数列表的两个位置吗?就像在冒泡排序中交换两个整数一样。

最佳答案

您从 va_*“函数”(它们通常作为预处理器宏实现)中获得的“列表”是堆栈的一部分,作为真正的堆栈,您只能“弹出” "它的值(value)。

所以不,你不能“交换”值,或者倒退。您甚至不能“插入”值,只能“弹出”。

如果要交换值,则必须将两个值都放入变量中,然后交换这些变量的值。

关于c - C : increment/decrement va_arg? 中的参数列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35088609/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com