745552161 发表于 2018-2-1 00:18:23

为什么语句的位置不同,结果就不一样。

各位BOSS,不要嫌我烦。新手问题多。
问题一:如图1:为什么一定要写上len=0才可以运行呢?不然会提示错误。
问题二:如图2:printf语句的位置不一样。结果就不一样。为什么呢?

人造人 发表于 2018-2-1 00:40:51

把代码也贴上来,方便调试

人造人 发表于 2018-2-1 00:43:48

这可是vc6,变量定义一定要放在所有执行语句/语句块的最前面

人造人 发表于 2018-2-1 00:44:45

“变量定义一定要放在所有执行语句/语句块的最前面”
这个是我抄百度的,我也不知道该怎么形容,总之就是变量要放在最前面

梦道 发表于 2018-2-1 08:38:48

问题一,变量在使用之前必须初始化

风过无痕丶 发表于 2018-2-1 08:53:46

1.如果声明变量不进行初始化,那么变量里面存放的就是一个"随机值"或者说"垃圾值", 如果你再对这个垃圾值进行运算,那么这种做法的危险性就不言而喻了!

也不是都一定要初始化, 在你变量很快要获得一个值的时候不用, 比如scanf 接收一个值    比如for循环的计数器

2这个问题就更简单了,你弄明白第一个问题,第二个问题就自然而然的懂了,图二打印的str 值是初始化的值,图一打印的值 是经过一系列运算过后的值,

745552161 发表于 2018-2-1 10:15:48

风过无痕丶 发表于 2018-2-1 08:53
1.如果声明变量不进行初始化,那么变量里面存放的就是一个"随机值"或者说"垃圾值", 如果你再对这个垃圾 ...

大哥,问题一:请问以后在运用的过程中,如果不需要需要初始化的变量,我初始化了有没有什么影响呢?比如你说的那几种不需要初始化的情况。
非常感谢大哥的回答谢谢

745552161 发表于 2018-2-1 10:16:24

人造人 发表于 2018-2-1 00:43
这可是vc6,变量定义一定要放在所有执行语句/语句块的最前面

这句话 很到位,很新手很容易理解。谢谢了

风过无痕丶 发表于 2018-2-1 10:39:11

745552161 发表于 2018-2-1 10:15
大哥,问题一:请问以后在运用的过程中,如果不需要需要初始化的变量,我初始化了有没有什么影响呢?比如 ...

只是不需要~ 不是必须哦~

页: [1]
查看完整版本: 为什么语句的位置不同,结果就不一样。