猿问

C++里的flag是什么意思?

Status InputString(unsigned char *str) {
int flag=0;
unsigned char ch;
str[0]=0;
//接受输入
while((ch=getchar())!='\n') {
if(flag==1) {flag=2;break;}
str[0]++;
if(str[0]==255) flag=1;
str[str[0]]=ch;
}
if(flag==2) {
ErrorTip(OverLen);
return ERROR;
}
str[str[0]+1]='\0';
return OK;
}
里面的flag是什么意思?代表是?

米琪卡哇伊
浏览 4545回答 2
2回答

慕村225694

就是一个整型变量,和int i没区别,你可能要问的在程序里这么用是什么意思,这是个编程的小技巧,就是当满足一些条件是,把flag设置个状态,然后在后面检查这个状态,做相应的处理,要是不明白我给你做点注释吧Status InputString(unsigned char *str) {int flag=0; //开始把这个状态设置为0unsigned char ch;str[0]=0;//接受输入while((ch=getchar())!='\n') {if(flag==1) {flag=2;break;} //当状态为1的时候,又设置成2str[0]++;if(str[0]==255) flag=1; //当满足条件是,设置flag=1str[str[0]]=ch;}if(flag==2) { //检查flag状态,做相应处理ErrorTip(OverLen);return ERROR;}str[str[0]+1]='\0';return OK;}  

陪伴而非守候

非零为真,零为假他只是一个标记变量,用来判断是否满足条件的。
随时随地看视频慕课网APP
我要回答