打印

函数调用出现死循环怎么回事啊

[复制链接]
1161|33
手机看帖
扫描二维码
随时随地手机跟帖
沙发
dengdc| | 2017-9-10 16:51 | 只看该作者

怎么回事啊

使用特权

评论回复
板凳
yszong|  楼主 | 2017-9-10 16:53 | 只看该作者
L_tmp = L_mult(*s_ptr++, sa); 这是一个函数调用 调用的是一个L_mult函数 而L_mult函数只是对一个两个参数进行相乘 再按条件决定所得的积进行处理 最后返回一个值

使用特权

评论回复
地板
yszong|  楼主 | 2017-9-10 16:56 | 只看该作者
为什么会一直进入这个函数调用 就死在这 调用完出来 又进去

使用特权

评论回复
5
heweibig| | 2017-9-10 16:58 | 只看该作者
你给出的信息太少了,先说明s_ptr, sa是什么?

使用特权

评论回复
6
wuhany| | 2017-9-10 17:00 | 只看该作者

L_mult是自己实现的,还是调用的intrinsics?

使用特权

评论回复
7
jlyuan| | 2017-9-10 17:02 | 只看该作者
我的理解   你看一看    L_mult(  ( *s_ptr  )++,  sa  );     你看一下   对不对   

使用特权

评论回复
8
jlyuan| | 2017-9-10 17:04 | 只看该作者
因为你使用指针   你想做的是改变指针所指向的地址中的数值   而事实上按你的写法他是在给存储地址循环加一    不知对不对   希望高人指点   哈哈

使用特权

评论回复
9
yszong|  楼主 | 2017-9-10 17:06 | 只看该作者

嗯,我理解下哈

使用特权

评论回复
10
usysm| | 2017-9-10 22:04 | 只看该作者
死循环使用return

使用特权

评论回复
11
typeof| | 2017-9-10 22:04 | 只看该作者
yszong 发表于 2017-9-10 16:53
L_tmp = L_mult(*s_ptr++, sa); 这是一个函数调用 调用的是一个L_mult函数 而L_mult函数只是对一个两个参数 ...

这个怎么会循环调用?

使用特权

评论回复
12
yujielun| | 2017-9-10 22:05 | 只看该作者
yszong 发表于 2017-9-10 16:53
L_tmp = L_mult(*s_ptr++, sa); 这是一个函数调用 调用的是一个L_mult函数 而L_mult函数只是对一个两个参数 ...

L_mult怎么写的

使用特权

评论回复
13
htmlme| | 2017-9-10 22:05 | 只看该作者
yszong 发表于 2017-9-10 16:53
L_tmp = L_mult(*s_ptr++, sa); 这是一个函数调用 调用的是一个L_mult函数 而L_mult函数只是对一个两个参数 ...

*s_ptr怎么调用的?

使用特权

评论回复
14
pklong| | 2017-9-10 22:06 | 只看该作者
yszong 发表于 2017-9-10 16:56
为什么会一直进入这个函数调用 就死在这 调用完出来 又进去

这个代码没有循环调用的

使用特权

评论回复
15
touser| | 2017-9-10 22:06 | 只看该作者
yszong 发表于 2017-9-10 16:53
L_tmp = L_mult(*s_ptr++, sa); 这是一个函数调用 调用的是一个L_mult函数 而L_mult函数只是对一个两个参数 ...

说一下指针是什么数据?

使用特权

评论回复
16
myiclife| | 2017-9-10 22:07 | 只看该作者
也没有说明具体的函数内容

使用特权

评论回复
17
uytyu| | 2017-9-10 22:07 | 只看该作者
死循环是什么问题?

使用特权

评论回复
18
iyoum| | 2017-9-10 22:07 | 只看该作者
yszong 发表于 2017-9-10 16:53
L_tmp = L_mult(*s_ptr++, sa); 这是一个函数调用 调用的是一个L_mult函数 而L_mult函数只是对一个两个参数 ...

L_mult函数是哪里的?

使用特权

评论回复
19
usysm| | 2017-9-10 22:08 | 只看该作者
正常死循环都是return退出。

使用特权

评论回复
20
typeof| | 2017-9-10 22:08 | 只看该作者
yszong 发表于 2017-9-10 16:53
L_tmp = L_mult(*s_ptr++, sa); 这是一个函数调用 调用的是一个L_mult函数 而L_mult函数只是对一个两个参数 ...

你的代码在哪?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

830

主题

11379

帖子

4

粉丝