*类型的变量。
输出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)欢迎分享,转载请注明来源:内存溢出
评论列表(0条)