一个非常奇葩的点,求大佬帮帮忙
查看原帖
一个非常奇葩的点,求大佬帮帮忙
549907
Aheaddd楼主2021/8/22 19:29
#include<iostream>
using namespace std;
//int cost[12], money, monthofdeath, flag = 1, mama;
int money, cost[12], mama, flag = 1, monthofdeath;
int main()
{
	for (int i = 1; i <= 12; i++)
	{
		cin >> cost[i];
	}
	for (int i = 1; i <= 12; i++)
	{
		money += 300;
		money -= cost[i];
		if (money < 0)
		{
			flag = 0;
			monthofdeath = i;
			break;
		}
		mama += money / 100 * 100;
		money -= money / 100 * 100;
	}
	if (flag == 1)
	{
		money += mama * 1.2;
		cout << money;
	}
	else
	{
		cout << -monthofdeath;
	}
	return 0;
}

如果定义的顺序是这样:int money, cost[12], mama, flag = 1, monthofdeath;本地编译器结果正确,但是只有40分 但是如果这样:int cost[12], money, monthofdeath, flag = 1, mama;在本地编译器编译结果就是错的,0分,这是啥原因?百思不得其解

2021/8/22 19:29
加载中...