C语言中 关于垃圾值的问题

C语言中 关于垃圾值的问题,第1张

a是一个int类型的变量,p是一个int

*类型的变量。

输出a,那么就是输出一个垃圾的前咐羡int值。

输出*p,那么就是输出一个垃圾int

*变量指向的内存的值,由于简穗这个垃圾int

*变量指向的内存的使用权很可能是不属于你的,所慧拍以这是一种“不安全”的行为,编译器一般会报错的。

float max, min在你定义完,没进行初始化,其中的数据位当时内存中的脏银饥正数据,如果min中数据本来就比你数组里的数据小就会出现这种情况。你这种找最大值最小值的方法肢兄不对。有可能最大值最小值都不是你锋悔数组中的数据。

printf()函数不同于scanf()函数,scanf()函逗斗数传参是传的地址,因为要向核指茄这个地址写入值。而printf()函数参数传的是变量的值,相当于将这个变量的值拷贝到printf函数体中,然后再打印。。因此不需要传地址,直接传值即可。

所以你这里错在了传改察地址,因此打印的都是地址,修正:

 printf("a=%d,b=%d,c=%d,d=%d,f=%d,g=%d,h=%d\n",a,b,c,d,e,f,g,h)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12474546.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存