www.pudn.com > asdfadsfd.rar > 2.c
#include#include #include #include #include #define N 256 char buffer[N]; char word[20]; char *kword[13]={"do","if","int","return","break","continue","while","for"}; int len; int count=0; int readbuffer(FILE *fp) { char ch; len=0; ch=fgetc(fp); while(!feof(fp) && ch!='\n') { buffer[len]=ch; ch=fgetc(fp); len++; } len--; if(feof(fp)) return 0; else return 1; } void check(char *str); void fenxi(char *row) { int k=0; int i=0; int ferror=0; char str0[20]; while(i<=len) { k=0; strcpy(word,"\0"); if(isspace(row[i])) { i++; continue; } while(!isalpha(row[i])&&!isdigit(row[i])&&i<=len&&!isspace(row[i])&& !(row[i]=='\0'||row[i]=='+' || row[i]=='-' || row[i]=='*' || row[i]=='/' || row[i]=='(' || row[i]==')' || row[i]==',' || row[i]==';'|| row[i]=='{' || row[i]=='}' || row[i]=='=')) { putchar(row[i]); i++; ferror=1; } if(ferror==1) { ferror=0; } if(row[i]=='/') { i++; if(row[i]=='/') { i=len+1; continue; } else i--; } if(isdigit(row[i])) { while(i<=len&&!isspace(row[i])&&!(row[i]=='\0'||row[i]=='+' || row[i]=='-' || row[i]=='*' || row[i]=='/' || row[i]=='(' || row[i]==')' || row[i]==',' || row[i]==';'|| row[i]=='{'|| row[i]=='}' || row[i]=='=')) { if(isdigit(row[i])) { str0[k]=row[i]; i++; k++; } else { ferror=1;break; } } if(ferror==1) { int j; for(j=0;j