使用scanf前变量已被赋值,那么输出结果如何变化。
答案:3 悬赏:70 手机版
解决时间 2021-03-25 19:15
- 提问者网友:树红树绿
- 2021-03-25 02:55
使用scanf前变量已被赋值,那么输出结果如何变化。
最佳答案
- 五星知识达人网友:夜余生
- 2021-03-25 03:01
一楼说得挺对的。在申明变量的时候就是在内存申明相应大小的空间,如果没有对其初始化,也没有在后面对其赋值,那么这个空间中的值就是一个随机值。
而在当你用scanf("%d%c%d,",&m,&c,&n)去接收数据时,就把数据放到相应的空间中(&m就是说放到m空间去,)在输出 时就是从这个空间去读值。里面是什么就输出什么了,
而在当你用scanf("%d%c%d,",&m,&c,&n)去接收数据时,就把数据放到相应的空间中(&m就是说放到m空间去,)在输出 时就是从这个空间去读值。里面是什么就输出什么了,
全部回答
- 1楼网友:duile
- 2021-03-25 04:55
先前是初始化 后面赋值改变了初始化的值
- 2楼网友:慢性怪人
- 2021-03-25 03:49
先前的赋值对以后的输出没有影响。
但是有一点你做得很好,就是不管定义变量时变量的初始化值有没有用,都要对其进行初始化,对于一个简单的程序这显得好像有点多余,但是如果对一个大型的程序,初始化变量作用就明显了。
因为变量定义的时候只是在内存中给它取了一个空间用于存储变量,这个内存空间中由于其他程序的使用,可能里面还存在一些数据,而这些数据对于我们的当前程序是没有用的,我们称之为垃圾数,试想,如果不对变量进行初始化,那么当我们误认为我们进行了初始化但实际上没有初始化,这时,我们的程序就会应用了一个不该应用的垃圾值,程序运行的正确性就会受到影响。
但是有一点你做得很好,就是不管定义变量时变量的初始化值有没有用,都要对其进行初始化,对于一个简单的程序这显得好像有点多余,但是如果对一个大型的程序,初始化变量作用就明显了。
因为变量定义的时候只是在内存中给它取了一个空间用于存储变量,这个内存空间中由于其他程序的使用,可能里面还存在一些数据,而这些数据对于我们的当前程序是没有用的,我们称之为垃圾数,试想,如果不对变量进行初始化,那么当我们误认为我们进行了初始化但实际上没有初始化,这时,我们的程序就会应用了一个不该应用的垃圾值,程序运行的正确性就会受到影响。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯