⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 check_stack.c

📁 fgdgyh trtrh rrt ertge e er er
💻 C
字号:
#include<stdio.h>
#include<string.h>
#define OPSETSIZE 7
unsigned char Prior[7][7] = {     // 表3.1  算符间的优先关系
  	  '>','>','<','<','<','>','>',
	  '>','>','<','<','<','>','>',
	  '>','>','>','>','<','>','>',
	  '>','>','>','>','<','>','>',	
	  '<','<','<','<','<','=',' ',
	  '>','>','>','>',' ','>','>',
	  '<','<','<','<','<',' ','='
};
char OPSET[OPSETSIZE]={'+' , '-' , '*' , '/' ,'(' , ')' , '#'};
int Operate(int a,unsigned char theta, int b) {
   switch(theta) {
      case '+': return a+b;
      case '-': return a-b;
      case '*': return a*b;
      case '/':
		  {if(b==0){
			  printf("除数不能为0!\n");
			  return 0;
		  }
			else	return a/b;
		  }
      default : return 0;
   } 
}	

/*Status In(char Test,char* TestOp) {
   bool Find=false;
   for (int i=0; i< OPSETSIZE; i++) {
      if (Test == TestOp[i]) Find= true;
   }
   return Find;
}
*/

int ReturnOpOrd(char op,char* TestOp) {
   int i;
   for(i=0; i< OPSETSIZE; i++) {
      if (op == TestOp[i]) return i;
   }
   return 0;
}

char precede(char Aop, char Bop) {
   return Prior[ReturnOpOrd(Aop,OPSET)][ReturnOpOrd(Bop,OPSET)];
}
void main(){
	int a=3,b=4,c=0,result,d=43;
	char ch='*',ch4;
	char ch2='/';
	char ch3='+';
	result=Operate(a,d,c);
	ch4=precede(ch2,ch);
	printf("%d,%c\n",result,ch4);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -