- 相信我们大家在编程C语言中都经常会用sizeof来求一个数组中的元素个数,如:sizeof(arr) /sizeof[0],好好现在重点来了, 这个方法在你自定义的函数中是错误的!!!
这是为什么呢???
这是因为数组再传入函数中时是以地址方式传入函数中,而地址的大小在64位环境下下的大小都是8,故这并不能求出数组元素个数。运行的情况如下:
从运行结果可知指针大小为8个字节,而元素大小也就是arr[0]为4个字节!!!
那么这样的情况那我们想要解决方法那就是不要在自定义函数里面求,放在main函数里求就可以了。
- 既然讲到这我们就继续探讨一下sizeof计算数组大小的情况吧
- 至于怎么探讨呢…………
我的建议是直接甩图
相信各位看图便可意会!!!
- 接下来就是scanf了,scanf和printf的返回值也容易被忽略哦!
scanf和printf有什么小秘密呢,那就是scanf和printf也是有返回值的,scanf的返回值就是它读取的变量个数(数据类型),则它就会返回整数几,当然如果它没有读取到任何项或是匹配失败的话,它就会返回如0,如果读取错误或者读取到文件结尾,则就会返回常量EOF也就是-1:
那printf的返回值呢,它的返回值便是打印的字符个数,包括空格和换行符,下来看例子:
好了各位这次我就写到这里了,毕竟我也是个初学者,写不了高深的博客!只希望各位支持一二,如果有什么错误也希望各位大佬指点一二!(˵¯͒〰¯͒˵)!!!谢谢各位的观看,记得支持一二唔!(˵¯͒〰¯͒˵)