|
发表于 2020-6-18 22:06:59
|
显示全部楼层
才疏学浅,在不反汇编的情况完全不理解。测试代码如下
- char *test1() {
- char buf[1024] = {0};
- sprintf(buf, "%s", __FUNCTION__);
- printf("in function: %s\n", __FUNCTION__);
- return strdup(buf);
- }
- char *test2() {
- char buf[1024] = {0};
- sprintf(buf, "%s", __FUNCTION__);
- printf("in function: %s\n", __FUNCTION__);
- return strdup(buf);
- }
- void params_order() {
- printf("%s\n%s\n", test1(), test2());
- int i = 8;
- printf("%d\n%d\n", i++, i--);
- printf("i = %d\n", i);
- int j = ++i;
- printf("i = %d, j = %d\n", i, j);
- printf("%d-%d\n", i++, i++);
- printf("%d-%d\n", ++i, ++i);
- }
复制代码
输出为
- in function: test2
- in function: test1
- test1
- test2
- 7
- 8
- i = 8
- i = 9, j = 9
- 10-9
- 13-13
复制代码
|
|