为什么这两个for循环中用++i,++j的之后,程序执行完所有输入后,就报内存错误?

#include

const int TIME = 12;
const char* month[TIME] = { "1月份销量", "2月份销量", "3月份销量", "4月份销量", "5月份销量", "6月份销量",
"7月份销量", "8月份销量", "9月份销量", "10月份销量", "11月份销量", "12月份销量" };

int main()
{
using namespace std;

int sale[TIME];

for (int i = 0; i < TIME; i++)
{
    cout << month[i] << ": ";
    cin >> sale[i];
}

int all_sale = 0;
for (int j= 0; j < TIME; j++)
{
    all_sale += sale[j];
}

cout << "今年销售量为: " << all_sale << endl;

system("pause");
return 0;

}

用i++,j++就是正常的。。。。

using namespace std;写在了哪里

++i和i++是不一样的

++i和i++不一样

一个是先用后加,一个是先加后用

一个是先用后加,一个是先加后用 希望对你有所帮助

for循环i++ 和 ++i 一样吧

在for语句中这种写法中先加和后加都是一样的,应该不会有问题,建议你查下其他地方的问题。

i++和++i不一样

for()循环的执行顺序是 :
变量定义--> 判断 --> 代码体 -->变量自增
所以。你写 i++ 或者是 ++i 是没有影响的

你好,首先:前++,和后++的差异因编译器的不同而有所差异。

希望你能把你报错的代码贴出来。

正常情况下 i++ 是正常的 老铁 应该是你的逻辑问题

没有啊,++i和i++是不一样的意思,但是在你写的这里是一样的作用。而且没有报错。
图片说明

i++是执行完{}里面的再加1。++i是加1后执行{}。数组产生异常

看不到这段代码有任何错误,建议把出错情况截图,并把程序完整发出来。