read_int.c

来自「C语言编写的关于文件的基本 操作的程序源代码」· C语言 代码 · 共 88 行

C
88
字号
#include <stdio.h>
#include <ctype.h>

int isop(int ch)
{
	int ret = 0; 
	switch(ch){
		case '(':
		case '+':
		case '-':
		case '*':
		case '/':
		case ')':
			ret = 1;break;
		default :
			ret = 0;
		}
	return ret;	
}

int opcode(int ch)
{
	int ret;
	switch(ch){
		case '(':
			ret = '(';break;
		case '+':
			ret = '+';break;
		case '-':
			ret = '-';break;
		case '*':
			ret = '*';break;
		case '/':
			ret = '/';break;
		case ')':
			ret = ')';break;
		default :
			ret = '#';
		}
	return ret;	
}

int read_int(void)
{
	int value;
	int ch;
	
	value = 0;
	
	while((ch = getchar()) != EOF && isdigit(ch)){
		value *= 10;
		value += ch - '0';		
		}
	ungetc(ch,stdin);
	return value;
	}
	
int read(void)
{
	int ch;
	int val = 0;
	ch = getchar();
	
	while(ch != EOF){
		if(ch == ' ' || ch == '\t' || ch == '\n')
			;
		else if(isdigit(ch)){
			ungetc(ch,stdin);
			val = read_int();
			printf("read int : %d\n",val);//push(val,intstack);
			}
		else if(isop(ch))
		{
			printf("read char: %c\n",opcode(ch));//push(opcode,charstack);
			}
		else
			printf("read bad : %c\n",ch);	
		ch = getchar();	
		}
	return 0;
	}	
/*	
int main(void)
{
	read();
	return 0;
	}	
	*/

⌨️ 快捷键说明

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