本文共 879 字,大约阅读时间需要 2 分钟。
导读: 源代码有点复杂,只是形式不用在意执行意义,它只是展示大部分所有的语法点:循环及其break和continue、goto、分支、try...catch等等,应有尽有。 int SocketAgent::DataReceiver(char *data) { SocketAgent *a; int ret=0,pos,len,count; int buff[1024]; int *i_data=(int *)data; len=0 do{ if(i_data[len]=='a') { while(i_data[len] && len<1024) { if(i_data[len]=='/r') { len++ continue } if(i_data[len]=='/n') break } } }while(len<1024); for(int i=0,pos=0,count=0i<1024i++) { if(i_data[i]!='q') buff[pos++]=i_data[i]; if(i_data[i]=='b') { break } else count++ if(i_data[i]==T_ERROR) { goto _exit; } } try{ if(len>=1024) throw("throw out"); }catch(char *error) { ShowMessage(error); } switch(count) { case 1: ret=100 break case 2: ret=200 break default: ret=300 break } return ret; _exit: ret=1001 return ret; } 再看看分析后的流程图