输出范围内的回文数,编译通过,运行不出来😓为啥啊

#include<stdio.h>

void hui(int n1,int n2){
int i,a;
int result=0,b=i;
for(i=n1;i<=n2;i++){
while(i>0){
a=i%10;
i=i/10;
result=a+result*10;
}
if(result==b){
printf("%d\n",b);
}
}
}
int main()
{
hui(200,1000);
return 0;
}

你在循环中修改循环变量i是不行的啊。

#include<stdio.h>

void hui(int n1,int n2){
int i,a;
int result=0,b;
for(i=n1;i<=n2;i++){
    b= i;
    result = 0;
while(b>0){
a=b%10;
b=b/10;
result=a+result*10;
}
if(result==i){
printf("%d\n",i);
}
}
}
int main()
{
hui(200,1000);
return 0;
}

#include <stdio.h>

void hui(int n1, int n2)
{
    int i, a;
    int result = 0, b = i;
    for (i = n1; i <= n2; i++)
    {
        result=0;
        b = i;
        int temp=i;
        while (temp > 0)
        {
            a = temp % 10;
            temp = temp / 10;
            result = a + result * 10;
        }
        if (result == b)
        {
            printf("%d\n", b);
        }
    }
}
int main()
{
    hui(200, 1000);
    return 0;
}

img


#include <stdio.h>

void hui(int n1, int n2)
{
    int i, a;
    int result,b;
    for (i = n1; i <= n2; i++)
    {
        result = 0,b = i;
        while (b > 0)
        {
            a = b % 10;
            b = b / 10;
            result = a + result * 10;
        }
        if (result == i)
        {
            printf("%d\n", i);
        }
    }
}
int main()
{
    hui(200, 1000);
    return 0;
}