📄 行编辑程序.cpp
字号:
#include"SqStack.h"
#include<stdio.h>
void main(){
//利用字符栈S,从终端接受一行经过处理输出。
//约定退格符是#,退行符@。
//例如,输入:whli##ilr#e(s#*s)
// outcha@putchar(*s=#++);
//则实际上应该是下列两行:
// while(*s)
// putchar(*s++);
void visit(SElemType e);
SqStack S;
InitStack(S);
char c;
c=getchar();
while(c!='-'){ //c不是结束符
while(c!='-'&&c!='\n'){
switch(c){
case'#':Pop(S,c);break;//如果栈空则什么都不做
case'@':{S.top=S.base;break;}//clearstack
default:Push(S,c); break; //入栈
}//switch
c=getchar();
}//while
StackTraverse(S,visit);
cout<<endl;
S.top=S.base;
if(c!='-') c=getchar();
}//while
}
void visit(SElemType e){
cout<<e;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -