欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 我不理解我這個(gè)C語言代碼為什么輸不出,應(yīng)該怎么改? [打印本頁]

作者: 續(xù)我心弦    時(shí)間: 2021-10-20 22:28
標(biāo)題: 我不理解我這個(gè)C語言代碼為什么輸不出,應(yīng)該怎么改?
#include<stdio.h>
int main()
{
int i=10000,a,b=0,c;
for(i=10000;i<=100000;i++)
{
        a=i;
        while(i!=0)
        {
                c=i%10;
      b=b*10+c;
          i/=10;
        }
if(a==b)
                printf("%d\n",a);
}
}



作者: jhz931920    時(shí)間: 2021-10-21 07:46
i 的最小值是10000,i++,所以i永遠(yuǎn)不會(huì)等于零,所以一直在while內(nèi)死循環(huán),所以沒有輸出
作者: 天涯仗劍    時(shí)間: 2021-10-21 09:24
矛盾了,for(i=10000;i>=0;i--)
作者: xstong    時(shí)間: 2021-10-21 09:30
while循環(huán)內(nèi),你修改了i的值,只有i==0才能跳出。除了第一次for循環(huán)每次進(jìn)入while循環(huán)時(shí)始終i==1,a ==b 始終不能成立!
作者: 天ノ憶    時(shí)間: 2021-10-21 10:31
我添加了代碼即時(shí)打印各個(gè)參數(shù)的值,i在取余10之后經(jīng)過while循環(huán)出來成了0,接著i+1,C等于i,這樣走i就會(huì)一直等于0,a和C的值在i+1之后一直是1,B是無限增大的,最高位一直是1,又因?yàn)槭莍nt,所以最后成了負(fù)數(shù),ab永遠(yuǎn)不可能相等,而且因?yàn)閕的值一直在0和1直接變化,走不出這個(gè)for循環(huán)

51hei截圖_20211021101459.png (56.77 KB, 下載次數(shù): 55)

51hei截圖_20211021101459.png

作者: 天ノ憶    時(shí)間: 2021-10-21 10:32
我添加了代碼即時(shí)打印各個(gè)參數(shù)的值,i在取余10之后經(jīng)過while循環(huán)出來成了0,接著i+1,C等于i,這樣走i就會(huì)一直等于0,a和C的值在i+1之后一直是1,B是無限增大的,最高位一直是1,又因?yàn)槭莍nt,所以最后成了負(fù)數(shù),ab永遠(yuǎn)不可能相等,而且因?yàn)閕的值一直在0和1走不出這個(gè)for循環(huán)

51hei截圖_20211021100352.png (58.84 KB, 下載次數(shù): 70)

51hei截圖_20211021100352.png

51hei截圖_20211021101459.png (56.77 KB, 下載次數(shù): 69)

51hei截圖_20211021101459.png

作者: longfengjushi    時(shí)間: 2021-10-31 17:32

#include<stdio.h>
int main()
{
    int i=10000,a,b=0,c;
    int co = 0;
    for(i=10000;i<=100000;i++)
    {
       // printf("%d\n", i);
        a=i; //a=10000
        while(i!=0)
        {
            c=i%10;   //i=10000,c=
            b=b*10+c; //b=0
            i/=10;
            //while中 i的變化 10000->1000->100->10->1->0 結(jié)束循環(huán) 此時(shí)a=10000 b=1 c=1 i=0 a==b不成立
            //for循環(huán)繼續(xù) 但是此時(shí)i=1 經(jīng)過while后 a=1 c=1 b=2 i=0 由此可見i每次都會(huì)回到0,然后a=1,但是b是一個(gè)累加的過程,
            //所以a==b永不成立,而且i<=100000恒成立,陷入死循環(huán),所以無輸出
        }
        if(a==b)
            printf("%d\n",a);
    }
}


作者: 續(xù)我心弦    時(shí)間: 2021-11-3 21:52
jhz931920 發(fā)表于 2021-10-21 07:46
i 的最小值是10000,i++,所以i永遠(yuǎn)不會(huì)等于零,所以一直在while內(nèi)死循環(huán),所以沒有輸出

知道了

作者: 續(xù)我心弦    時(shí)間: 2021-11-3 21:53
謝謝各位





歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1