980578873 发表于 2023-6-14 14:20:49

函数返回值是多少?

各位大佬,小弟被一个简单的程序困惑,一直疑惑不解,程序如下图,此函数ADC_KeyRead()的返回值是不是总是为0?谢谢

hsrzq 发表于 2023-6-14 19:31:53

没看见还有个return i;呢?

980578873 发表于 2023-6-14 19:42:03

hsrzq 发表于 2023-6-14 19:31
没看见还有个return i;呢?

您仔细看一下,return i;在if语句里面,而return 0;在ADC_keyRead()函数的里面,与if else 语句无关,我感觉ADC_KeyRead返回值总是为0

hsrzq 发表于 2023-6-14 21:56:25

980578873 发表于 2023-6-14 19:42
您仔细看一下,return i;在if语句里面,而return 0;在ADC_keyRead()函数的里面,与if else 语句无关,我 ...
你觉得的不对。整个if也都在ADC_keyRead()函数里面,没超出这个函数的范围。
当if的条件满足时,就执行return i;了,整个函数就返回了,i的值就是函数的返回值,最后一个return 0;并不会执行到;并且,甚至for剩下还没执行的循环也跳过了。

980578873 发表于 2023-6-16 09:47:56

hsrzq 发表于 2023-6-14 21:56
你觉得的不对。整个if也都在ADC_keyRead()函数里面,没超出这个函数的范围。
当if的条件满足时,就执行ret ...

噢,原来Return就是这么一个意思啊:单片机碰到return就直接返回值给函数,不再往下执行下面的函数
页: [1]
查看完整版本: 函数返回值是多少?