1. 程式人生 > >輸出連續的整數序列2(考慮當P或Q是int型別能表示的最大值或最小值時)

輸出連續的整數序列2(考慮當P或Q是int型別能表示的最大值或最小值時)

輸出連續的整數序列2(考慮當P或Q是int型別能表示的最大值或最小值時)

#include<stdio.h>
int main()
{
    int n,p,q,i,j,t;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        scanf("%d%d",&p,&q);
        if(p==q)
        printf("%d\n",p);
        else
        {
            if(p>q)
            {
                t=p;
                p=q;
                q=t;
            }
            for(j=p;j<q;j++)
            {
                printf("%d ",j);
            }
            printf("%d\n",q);//單獨處理最後一個數據。

        }
        printf("\n");
    }
    return 0;
}

如果先處理第一個資料,則for(j=p;j<=q;j++)加到2147483647時,j<=2147483647,還可以再迴圈一遍,完了以後變成2147483648資料溢位,造成死迴圈。所以要處理最後一個數據。