📄 branches.c
字号:
/* Tests for single stepping through various branch conditions */int noscramble(int a){ return a ;}int echo(int a){ return noscramble(a) ; }int equaltest(int a,int b){ int retval ; if (a == b) retval = noscramble(1) ; else retval = noscramble(0) ; return retval ;}int neqtest(int a , int b){ int retval ; if (a != b) retval = echo(1) ; else retval = echo(2) ; return retval ;}int zerotest(int a ){ int retval ; a = echo(a) ; if (a ==0) retval = echo(1) ; else retval = echo(0) ; retval = echo(retval) ; return retval ;}int zerotest2(int a){ return (a==0) ;}int nonzerotest(int a){ int retval ; if (a != 0) retval = echo(0) ; else retval = echo(1) ; return retval ;}int whiletest(int a){ while (a > 0) { a-- ; } return 0 ;}int whiletest2(int a){ while (a > 0) { a = noscramble(a) ; a-- ; } return a ;}int decr(int x) { return x - 1 ; }int while3(int a){ int b = a ; while (a == b) { a = echo(a) ; b = decr(b) ; } return a ;}void done (int x) { } int main(){ int a,b,c,d ; done(1) ; a = echo(123456) ; b = echo(123456) ; c = echo(56789) ; d = echo(0) ;#if 1 equaltest(a,b) ; done(7) ; equaltest(a,c) ; done(8) ; whiletest(3) ; /* worked */ done(3) ; while3(3) ; done(6) ;#endif neqtest(a,b) ; neqtest(a,b) ; neqtest(a,c) ; zerotest(d) ; zerotest(a) ; done(5) ; nonzerotest(d) ; done(4) ; nonzerotest(a) ; done(111) ; return 1 ;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -