求解释下列语句位置更换为什么结果为什么变了

如图1-4程序中全局变量放到main函数里面为什么结果会发生变化
//程序为计算一年中的特定日期和星期的数量
图5在for循环里面定义d改成在开头定义d为啥结果也是不一样,想不通求解答

img

img

img

img

img

img

x和answer没有初值啊
这跟你放哪没有关系,你每次关了重新打开执行,结果都会不一样,因为是个随机内存
你不改代码结果不变,是因为IDE对内存有优化,尽量申请同一块内存而不是每次找一块新的内存
但是当你程序改变了,它重新编译了,就会申请另外一块内存运行,你的值也就变了

全局变量你没有初始化啊
x和answer你都需要初始化才行,
int x = 0,d=0,answer = 0;

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632