c语言中数组长度问题int mes[7]={1,1,0,1,0,0,0} 它的长度是多?char mes[7]={1,1,0,1,0,0,0}; 它的呢?貌似它读取到第一个0就结束了,我运行查看的长度是2?为什么呢?我想依次调用里面所有的元素,how?
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/14 17:39:11
![c语言中数组长度问题int mes[7]={1,1,0,1,0,0,0} 它的长度是多?char mes[7]={1,1,0,1,0,0,0}; 它的呢?貌似它读取到第一个0就结束了,我运行查看的长度是2?为什么呢?我想依次调用里面所有的元素,how?](/uploads/image/z/5124731-59-1.jpg?t=c%E8%AF%AD%E8%A8%80%E4%B8%AD%E6%95%B0%E7%BB%84%E9%95%BF%E5%BA%A6%E9%97%AE%E9%A2%98int+mes%5B7%5D%3D%7B1%2C1%2C0%2C1%2C0%2C0%2C0%7D+%E5%AE%83%E7%9A%84%E9%95%BF%E5%BA%A6%E6%98%AF%E5%A4%9A%3Fchar+mes%5B7%5D%3D%7B1%2C1%2C0%2C1%2C0%2C0%2C0%7D%3B+%E5%AE%83%E7%9A%84%E5%91%A2%3F%E8%B2%8C%E4%BC%BC%E5%AE%83%E8%AF%BB%E5%8F%96%E5%88%B0%E7%AC%AC%E4%B8%80%E4%B8%AA0%E5%B0%B1%E7%BB%93%E6%9D%9F%E4%BA%86%2C%E6%88%91%E8%BF%90%E8%A1%8C%E6%9F%A5%E7%9C%8B%E7%9A%84%E9%95%BF%E5%BA%A6%E6%98%AF2%3F%E4%B8%BA%E4%BB%80%E4%B9%88%E5%91%A2%3F%E6%88%91%E6%83%B3%E4%BE%9D%E6%AC%A1%E8%B0%83%E7%94%A8%E9%87%8C%E9%9D%A2%E6%89%80%E6%9C%89%E7%9A%84%E5%85%83%E7%B4%A0%2Chow%3F)
c语言中数组长度问题int mes[7]={1,1,0,1,0,0,0} 它的长度是多?char mes[7]={1,1,0,1,0,0,0}; 它的呢?貌似它读取到第一个0就结束了,我运行查看的长度是2?为什么呢?我想依次调用里面所有的元素,how?
c语言中数组长度问题
int mes[7]={1,1,0,1,0,0,0} 它的长度是多?
char mes[7]={1,1,0,1,0,0,0}; 它的呢?貌似它读取到第一个0就结束了,我运行查看的长度是2?为什么呢?我想依次调用里面所有的元素,how?
c语言中数组长度问题int mes[7]={1,1,0,1,0,0,0} 它的长度是多?char mes[7]={1,1,0,1,0,0,0}; 它的呢?貌似它读取到第一个0就结束了,我运行查看的长度是2?为什么呢?我想依次调用里面所有的元素,how?
你的两个数组的长度都是 80.如果不是动态开辟的数组,你声明的时候给多少长度就是多少长度.
第二个数组的长度是2?估计你使用 strlen 函数求吧?strlen只能求字符串长度,没办法求数组长度.strlen 是用 '\0' 来判断字符串的结束标志的,而你第二个数组中放置了几个'\0' (ASCII码为0,),所以得到的长度是 2.将第二个数组改为char m[80]={'1','1','0','1','0','0','0'}; 用 strlen 求得结果为 7.
求数组长度的正确方法:
sizeof(mes)/sizeof(int);
sizeof(mes)/sizeof(char)