hs999xl 发表于 2023-12-26 15:17:40

循环里的变量每次都是那一个吗?

循环里的变量哈,比如第一次循环执行完毕,第二次循环执行的时候,此时这个变量是销毁重建的还是第一次建好的那个?

Xelloss0618 发表于 2023-12-26 15:23:02

不是同一个
火山的局部变量有作用域,你的变量定义在子语句体里,每次进入和退出循环,都会创建和释放变量。

hs999xl 发表于 2023-12-26 15:32:26

Xelloss0618 发表于 2023-12-26 15:23
不是同一个
火山的局部变量有作用域,你的变量定义在子语句体里,每次进入和退出循环,都会创建和释放变量 ...

十分感谢

hcwanz 发表于 2023-12-26 16:06:45

静态局部变量,这一次的每次循环都是一样的,只有跑完所有次循环才会释放。
普通局部变量,每次循环都会重新创建。

hs999xl 发表于 2023-12-26 16:14:41

hcwanz 发表于 2023-12-26 16:06
静态局部变量,这一次的每次循环都是一样的,只有跑完所有次循环才会释放。
普通局部变量,每次循环都会重 ...

涨知识了,谢谢

呵呵仙8 发表于 2023-12-26 17:46:41

你取变量地址(),看值是不是就知了!!

hs999xl 发表于 2023-12-26 17:47:59

呵呵仙8 发表于 2023-12-26 17:46
你取变量地址(),看值是不是就知了!!

谢谢,又涨知识了。

明靓 发表于 2023-12-26 18:59:15

局部变量定义在循环里,作用域只在一次循环中,也就是开始进入循环时创建一个新的变量,到循环尾时销毁,回到循环首,又开始创建一个新的变量 ,只不过名称依然是上一次那个,但是变量地址已经不是原来的了.所以在你这个实例中,每次循环的变量不是同一个.

如果把变量定义在循环外,那循环多少次,变量一直是那个,只不过变量保存的值在不断变化罢了.

hs999xl 发表于 2023-12-26 19:02:55

明靓 发表于 2023-12-26 18:59
局部变量定义在循环里,作用域只在一次循环中,也就是开始进入循环时创建一个新的变量,到循环尾时销毁,回到循 ...

原来如此,万分感谢。

715684 发表于 2023-12-26 19:57:34

涨知识了,谢谢
页: [1]
查看完整版本: 循环里的变量每次都是那一个吗?