2016-04-14 91 views
-3

誰能告訴我爲什麼這不起作用?生成年齡的人

{ 

    int age; 
    int birthYear; 
    char name; 

    printf("Type in your birth year: \n"); 
    scanf("%d", birthYear); 

    age = 2016 - birthYear; 

    printf("You are %d years old.\n", age); 
} 
+0

您應該閱讀http://stackoverflow.com/editing-help – jonrsharpe

+0

使用'{}'按鈕來格式化源代碼。此外,你的字符串應該是''你大概有%d歲。\ n「';) –

+0

你缺少函數頭,必要的庫頭文件和其他一些東西。簡單閱讀[問]。 – Olaf

回答

3

您需要提供的地址,你的intscanf()

scanf("%d", &birthYear); 

附加說明:如果你不把&你將傳遞一個未初始化的int scanf(),和scanf()將解釋爲一個指針。輸入將不會存儲在變量中(它仍然是單元化的)。更糟的是:這可能最終導致內存損壞。