我对android:elevation
功能的意外行为感到非常困惑。我有两个函数printf()
和main()
。当我在dfs()
中添加printf()
语句时,我会在dfs() function
中获得所需的输出,但是当我不在main()
函数中添加printf()
语句时比我得到dfs()
的输出。
功能 - MAIN
0
功能 - DFS
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;
}
变量minans初始化为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);
}
}
}
答案 0 :(得分:0)
使用:
return minans;
在您的函数中,然后在主要用途中:
printf("**%lld\n",minans);
答案 1 :(得分:0)
如果if
声明为false
怎么办?然后你的功能return
什么都没有。因此,在这种情况下未定义的行为。
您可以return
minans
从函数到main
的值,然后将其打印在main
中。
注意 - 我不会在您的计划中看到minans
。