c程序显示的年龄不正确
为什么我的C程序没有显示正确的年龄?使用stock编译器在代码块上进行im。它一直显示50。我不明白为什么会这样。我也在这里试过。它显示的年龄为零c程序显示的年龄不正确,c,C,为什么我的C程序没有显示正确的年龄?使用stock编译器在代码块上进行im。它一直显示50。我不明白为什么会这样。我也在这里试过。它显示的年龄为零 #include <stdio.h> #include <stdlib.h> int main() { int age; int currentYear; int birthYear; age = currentYear - birthYear; currentYear = 2016
#include <stdio.h>
#include <stdlib.h>
int main()
{
int age;
int currentYear;
int birthYear;
age = currentYear - birthYear;
currentYear = 2016;
birthYear = 2000;
printf ("You are %d years old. It is now:%d. It began in:%d.", age, currentYear, birthYear);
return 0;
}
#包括
#包括
int main()
{
智力年龄;
int本年度;
int生日;
年龄=当前年份-出生年份;
本年度=2016年;
出生年份=2000年;
printf(“您已经%d岁了。现在是:%d。它开始于:%d.”,年龄,当前年份,出生年份);
返回0;
}
结论
age=currentYear-birthYear放在这里是有意义的代码>在末尾
ISO/IEC 9899:201x 6.79->10 如果未初始化具有自动存储持续时间的对象 显然,它的值是不确定的 重新排序
age = currentYear - birthYear;
currentYear = 2016;
birthYear = 2000;
到
您首先取两个未初始化变量的差值(这是不好的,因为结果未定义),然后才设置两年变量。因为您减去了未分配的变量。您应该将
age=currentYear-birthYear代码>在为当前年份
和出生年份
赋值后,在这里提问之前,您需要学习最基本的编程知识。这也是一个面向专业和热心程序员的网站。
age = currentYear - birthYear;
currentYear = 2016;
birthYear = 2000;
currentYear = 2016;
birthYear = 2000;
age = currentYear - birthYear;