最近写了一个反转整数的 c 语言
int x, flage, new_ x=0;
printf("请输入需要反转的数:");
scanf("% d",& x);
flage= x<0?-1:1;
do{
new_ x= new_ x*10+( x%10);
x/=10;
} while( x!=0);
new_ x= flage* new_ x;
printf("反转后:% d\ n", new_ x);
return0;
为什么输入负数的时候反转的是正数,比如-1234,反转后是 4321。断点测试了在输出之前的语句 new_ x=flage*new_x 的 new_x 是负数,但 printf 以后就输出正数了。请大神指点。
int x, flage, new_ x=0;
printf("请输入需要反转的数:");
scanf("% d",& x);
flage= x<0?-1:1;
do{
new_ x= new_ x*10+( x%10);
x/=10;
} while( x!=0);
new_ x= flage* new_ x;
printf("反转后:% d\ n", new_ x);
return0;
为什么输入负数的时候反转的是正数,比如-1234,反转后是 4321。断点测试了在输出之前的语句 new_ x=flage*new_x 的 new_x 是负数,但 printf 以后就输出正数了。请大神指点。

