下面是一个关于任意整数逆序的C语言代码
#include<stdio.h>
int main(){
int x,digit,ret;
printf("请任意输入一个整数\n");
scanf("%d",&x);
while(x>0){
digit = x % 10;
ret = ret * 10 + digit;
x /= 10;
}
printf("你输入的数字的逆序为%d\n",ret);
return 0;
}
代码运行的结果没有什么问题,运行结果如下:
这时候有一个小疑问就是:变量ret只是定义为了int类型,并未指定
int ret = 0;
当程序运行时ret在未初始换的情况下,应该为计算机内任意一个地址中的字符,而不应该正好是预想中的0呀,这是怎么回事呢?