📄 s_copy.c
字号:
/* Unless compiled with -DNO_OVERWRITE, this variant of s_copy allows the * target of an assignment to appear on its right-hand side (contrary * to the Fortran 77 Standard, but in accordance with Fortran 90), * as in a(2:5) = a(4:7) . */#include "f2c.h"/* assign strings: a = b */#ifdef KR_headersVOID s_copy(a, b, la, lb) register char *a, *b; ftnlen la, lb;#elsevoid s_copy(register char *a, register char *b, ftnlen la, ftnlen lb)#endif{ register char *aend, *bend; aend = a + la; if(la <= lb)#ifndef NO_OVERWRITE if (a <= b || a >= b + la)#endif while(a < aend) *a++ = *b++;#ifndef NO_OVERWRITE else for(b += la; a < aend; ) *--aend = *--b;#endif else { bend = b + lb;#ifndef NO_OVERWRITE if (a <= b || a >= bend)#endif while(b < bend) *a++ = *b++;#ifndef NO_OVERWRITE else { a += lb; while(b < bend) *--a = *--bend; a += lb; }#endif while(a < aend) *a++ = ' '; } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -