关于简单的递归问题
程序代码:
#include<stdio.h> void print(int n)// { if(n>9) { print(n/10); } printf("%d、",n%10); } int main() { //函数 逐个打印 int num = 0; printf("请随意输入一个数字,我将会逐个打印它\n"); //当我输入0到(2^31-1)时都可以正常打印,但输入2^32打印出-8 ; //2^32+1打印出-7;2^32+2打印出-6依次类推 到2^32次方+8 打印出0 scanf("%d",&num); //2^32次方+9 打印出-9;2^32次方+10 打印出 -8 print(num); //我的推测是一个整形变量存储的数字大小上限,但是为什么会循环?求个大神解答下这种现象的原因 return 0; } //拓展____ //堆区 :动态开辟的内存 malloc calloc //静态区:全局变量 static修饰的变量