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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2357|回復: 8
打印 上一主題 下一主題
收起左側

我不理解我這個C語言代碼為什么輸不出,應該怎么改?

[復制鏈接]
跳轉到指定樓層
樓主
#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);
}
}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:442990 發表于 2021-10-21 07:46 | 只看該作者
i 的最小值是10000,i++,所以i永遠不會等于零,所以一直在while內死循環,所以沒有輸出
回復

使用道具 舉報

板凳
ID:882573 發表于 2021-10-21 09:24 | 只看該作者
矛盾了,for(i=10000;i>=0;i--)
回復

使用道具 舉報

地板
ID:429003 發表于 2021-10-21 09:30 | 只看該作者
while循環內,你修改了i的值,只有i==0才能跳出。除了第一次for循環每次進入while循環時始終i==1,a ==b 始終不能成立!
回復

使用道具 舉報

5#
ID:139866 發表于 2021-10-21 10:31 | 只看該作者
我添加了代碼即時打印各個參數的值,i在取余10之后經過while循環出來成了0,接著i+1,C等于i,這樣走i就會一直等于0,a和C的值在i+1之后一直是1,B是無限增大的,最高位一直是1,又因為是int,所以最后成了負數,ab永遠不可能相等,而且因為i的值一直在0和1直接變化,走不出這個for循環

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

51hei截圖_20211021101459.png

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

6#
ID:139866 發表于 2021-10-21 10:32 | 只看該作者
我添加了代碼即時打印各個參數的值,i在取余10之后經過while循環出來成了0,接著i+1,C等于i,這樣走i就會一直等于0,a和C的值在i+1之后一直是1,B是無限增大的,最高位一直是1,又因為是int,所以最后成了負數,ab永遠不可能相等,而且因為i的值一直在0和1走不出這個for循環

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

51hei截圖_20211021100352.png

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

51hei截圖_20211021101459.png

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

7#
ID:976455 發表于 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 結束循環 此時a=10000 b=1 c=1 i=0 a==b不成立
            //for循環繼續 但是此時i=1 經過while后 a=1 c=1 b=2 i=0 由此可見i每次都會回到0,然后a=1,但是b是一個累加的過程,
            //所以a==b永不成立,而且i<=100000恒成立,陷入死循環,所以無輸出
        }
        if(a==b)
            printf("%d\n",a);
    }
}

回復

使用道具 舉報

8#
ID:881546 發表于 2021-11-3 21:52 | 只看該作者
jhz931920 發表于 2021-10-21 07:46
i 的最小值是10000,i++,所以i永遠不會等于零,所以一直在while內死循環,所以沒有輸出

知道了
回復

使用道具 舉報

9#
ID:881546 發表于 2021-11-3 21:53 | 只看該作者
謝謝各位
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表