gpt4 book ai didi

c - 函数中的 Printf 更改 main 中的输出值

转载 作者:行者123 更新时间:2023-11-30 21:09:52 24 4
gpt4 key购买 nike

我对 printf() 函数的意外行为感到完全困惑。我有两个函数 main()dfs()。当我在 dfs() 函数中添加 printf() 语句时,我在 main() 中获得所需的输出,但是当我不添加时dfs() 函数中的 printf() 语句比我得到的输出为 0

函数 - 主要

int main()
{
freopen("input.txt","r",stdin);
scanf("%d",&N);
for(int i=1; i<=N; i++)
scanf("%lld",&P[i]);
for(int i=1; i<=N; i++)
scanf("%lld",&A[i]);
for(int i=1; i<=N; i++)
scanf("%lld",&H[i]);
dfs(1,2,0); minans += A[1];
printf("**%lld\n",minans);
return 0;
}

函数 - DFS

long long int dfs(int i, int j, long long int ans)
{
if(i==N) return ans;
for(int itr = j; itr<=N; itr++)
{
if(P[itr] > P[i])
{
minans = min(minans, dfs(itr,itr+1,ans + (H[itr] - H[i])*(H[itr] - H[i]) + A[itr]));
//printf("%d %lld\n",i,minans);
}
}
}

变量 minans 初始化为 111111111111

最佳答案

用途:

return minans;

在你的函数中,然后在主要用途中:

printf("**%lld\n",minans);

关于c - 函数中的 Printf 更改 main 中的输出值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33054629/

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