📄 while.c
字号:
/* File while.c: 2.1 (83/03/20,16:02:22) */
/*% cc -O -c %
*
*/
#include <stdio.h>
#include "defs.h"
#include "data.h"
#include "headers.h"
void addwhile(int *ptr) {
int k;
if (wsptr == WSMAX) {
error("too many active whiles");
return;
}
k = 0;
while (k < WSSIZ)
*wsptr++ = ptr[k++];
}
void delwhile(void) {
if (readwhile())
wsptr = wsptr - WSSIZ;
}
int *readwhile(void) {
if (wsptr == ws) {
error("no active do/for/while/switch");
return (0);
}
else
return (wsptr - WSSIZ);
}
int *findwhile(void) {
int *ptr;
for (ptr = wsptr; ptr != ws;) {
ptr = ptr - WSSIZ;
if (ptr[WSTYP] != WSSWITCH)
return (ptr);
}
error("no active do/for/while");
return (0);
}
int *readswitch(void) {
int *ptr;
if (ptr = readwhile())
if (ptr[WSTYP] == WSSWITCH)
return (ptr);
return (0);
}
void addcase(int val) {
int lab;
if (swstp == SWSTSZ)
error("too many case labels");
else {
swstcase[swstp] = val;
swstlab[swstp++] = lab = getlabel();
printlabel(lab);
col();
nl();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -