while 和for循环
for(int i=1;i<=N;i++){
scanf("%d%d",&id,&grade);
stu[id]=stu[id]+grade;
}
while(N--){
scanf("%d%d",&id,&grade);
stu[id]=stu[id]+grade;
}
就这几行代码来看,逻辑是等价的,其他代码呢
如果N根本不是个变量而是个define,那你企图改变一个常量它当然是错的
或者N的值后面有用到,你把它减成0了当然也是错的
就这两段没啥区别啊,是不是还有别的代码?while循环结束后, N是-1,而for循环中,N是不改变的
看不出来