gpt4 book ai didi

c - 如何使用可变数量的参数来运行

转载 作者:行者123 更新时间:2023-11-30 20:57:04 25 4
gpt4 key购买 nike

我有这个:

long int addsquares(int n, ...) 

如何访问参数?我无法使用 va_startva_arg...

最佳答案

依赖于实现...

预测试

long int addsquares(int n, int d1, ...){
printf("%p,%p\n", &n, &d1);
return 0L;
}

结果:windows 64位系统,vc10 (sizeof int:4)

003DFD54,003DFD58

windows 64位系统,gcc 4.4.3 (sizeof int:4)

000000000022FE60,000000000022FE68

对于 vc10:

long int addsquares(int n, ...){
int i, *p = &n;
long sum = 0L;

for(i=1;i<=n;++i)
sum += p[i]*p[i];

return sum;
}

对于海湾合作委员会:

long int addsquares(int n, ...){
int i, *p = &n;
long sum = 0L;

for(i=1;i<=n;++i)
sum += p[i*2]*p[i*2];

return sum;
}

关于c - 如何使用可变数量的参数来运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15879147/

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