int main()
{
long int i,t,n,q[500],d[500],s[500],res[500]={0},j,h;
scanf("%ld",&t);
while(t--)
{
scanf("%ld %ld",&n,&h);
for(i=0;i<n;i++)
scanf("%ld %ld",&d[i],&s[i]);
for(i=0;i<h;i++)
scanf("%ld",&q[i]);
for(i=0;i<h;i++)
{
for(j=0;j<n;j++)
{
res[j]=d[j]+q[i]*s[j];
}
j=cal(res,n,q[i],s);
printf("%ld\n",j);
}
}
return 0;
}
long int cal(int res[],int n,int q,int s[])
{
long int i,max=0,p,pos=0;
for(i=0;i<n;i++)
{
if (max==res[i])
{
pos=add(res,s,pos,i,q);
max=res[pos];
}
if (res[i]>max)
{
max=res[i];
pos=i;
}
}
return pos;
}
每當我拿着變量int
,它的正常工作,但如果我的變量聲明爲long int
,我在函數調用在收到警告消息「可疑指針轉換」 - 在該行:可疑指針轉換長整型
(j=cal(res,n,q[i],s));
能否請你解釋一下原因嗎?
你可以發佈cal()函數原型 – 2013-03-10 04:06:03
那麼,如果我們知道'cal'看起來像什麼會有幫助。對不起,太陽耀斑會干擾我們的水晶球。 – 2013-03-10 04:06:45
@NikBougalis好的:) – Ganesh 2013-03-10 04:21:57