已采納回答 / LawrenceLam
這取決于自己限定的結束條件,例如fun(int a){??? int? n;???? if (a==0||a==1)n=1;???? else n=fun(a-1)*a;???? return n;}當a大于1,程序就會不停地遞歸直至a=1求出fun(1)的值,進而一層層求出fun(2)......fun(a),最后返回a的階乘
2016-02-26
結構體占用空間的大小,其實是:最后一個變量的偏移量,加上最后一個變量的內存大小,加上最后一個變量的尾部填充字節數。這么說有點兒扯淡,最好的辦法是看這里面最長的那個變量,比如是double,也就是8bytes,那么這就是最小的sector。剩下的比如是int char 和int,因為int占4 bytes,char 占1byte,它們倆加在一起不夠一個sector,但是無法放下一個int了,所以它們倆占一個sector,后面填充無用值。而剩下的那個int自己獨占一個sector,所以這個struct占用24 bytes內存空間。
2016-02-25