為什么這樣還是會輸出主函數(shù)的printf語句
#include <stdio.h>?
int aabb(int n)
{
? ? int year;
? ? if(n == 1)
? ? {
? ? ? ? year = 10;
? ? }
? ? else if(n == 2)
? ? {
? ? ? ? year = aabb(n-1)+2;? //第二人比第一人大兩歲
? ? }
? ? else if(n == 3)
? ? {
? ? ? ? year = aabb(n-1)+3;? //第三人比第二人大三歲
? ? }
? ? else if(n == 4)
? ? {
? ? ? ? year = aabb(n-1)+4;? //第四人比第三人大四歲
? ? }
? ? else if(n == 5)
? ? {
? ? ? ? year = aabb(n-1)+5;? //第五人比第四人大五歲
? ? }
? ? else
? ? {
? ? ? ? printf("輸入錯誤,請檢查后再輸入!");
? ? }
? ? return year;
}
int main()?
{
? ? int n = 10;
printf("第%d個人的年齡是%d歲",n,aabb(10));
return 0;
}
2020-11-14
n>5時aabb輸出未賦值的year,即使未賦值,也分配了地址,其對應的數(shù)值可能就是取決于編譯時該內(nèi)存地址中恰巧存在的數(shù)值,因此是隨機的。