小题目 大经验
#include<iostream>
#include<map>
using namespace std;
int main(){
int n,temp,num=0;
map<int,int>pos;
cin>>n;
for(int i=0;i<n;i++){
cin>>temp;
pos[temp]++;//只要别让他为0即可
}
//int a=num++;
//printf("%d",a);
while(++num)//++num num=0 ,与num++ num=1有什么区别?
if(pos[num]==0) break;
cout<<num;
//if的范围要清楚{}不带导致出门即死尤其是和return break配合时更要想清楚它的范围
return 0;
}
总结本题本质上不难 但是我一开始用while(num++) num=1,我以为他会从1开始遍历
我错了,他除了a=num++;时是先传值再自增,其他的带括号的这些,不管++在什么位置都会先自增
英语 无
问题 无