C语言逆序问题,输入123456789之类的正确; 输入1230000789,4560000789之类的输出错误。 什么原因?

#include <stdio.h>int main() { int a=0,t=0; int x; scanf("%d",&x); do { a=x%10; t=t*10+a; printf("%d \n",a); x/=10; } while (x>0); printf("%d \n",t); return 0;}如图,求大佬指教!

因为int型数的最大值为:2^31-1=2147483649

输入的1230000789、4560000789逆序后均超过了int型的范围,因此输出错误

改成long long长整型即可,如图所示:

输入1230000789,成功输出其逆序值9870000321,望采纳~

温馨提示:答案为网友推荐,仅供参考
相似回答