定义数组 int x[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}} int x[][3]={1,2,3,4}前者为什么是错的,后者为什么是对的?我觉得对于后者 1,2,3,4后面可以跟很多省略掉的0,那么数组的第一维度就无法确定了,而对于前
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/01 05:01:18
![定义数组 int x[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}} int x[][3]={1,2,3,4}前者为什么是错的,后者为什么是对的?我觉得对于后者 1,2,3,4后面可以跟很多省略掉的0,那么数组的第一维度就无法确定了,而对于前](/uploads/image/z/1810214-62-4.jpg?t=%E5%AE%9A%E4%B9%89%E6%95%B0%E7%BB%84+int+x%5B4%5D%5B%5D%3D%7B%7B1%2C2%2C3%7D%2C%7B1%2C2%2C3%7D%2C%7B1%2C2%2C3%7D%2C%7B1%2C2%2C3%7D%7D+int+x%5B%5D%5B3%5D%3D%7B1%2C2%2C3%2C4%7D%E5%89%8D%E8%80%85%E4%B8%BA%E4%BB%80%E4%B9%88%E6%98%AF%E9%94%99%E7%9A%84%2C%E5%90%8E%E8%80%85%E4%B8%BA%E4%BB%80%E4%B9%88%E6%98%AF%E5%AF%B9%E7%9A%84%3F%E6%88%91%E8%A7%89%E5%BE%97%E5%AF%B9%E4%BA%8E%E5%90%8E%E8%80%85+1%2C2%2C3%2C4%E5%90%8E%E9%9D%A2%E5%8F%AF%E4%BB%A5%E8%B7%9F%E5%BE%88%E5%A4%9A%E7%9C%81%E7%95%A5%E6%8E%89%E7%9A%840%2C%E9%82%A3%E4%B9%88%E6%95%B0%E7%BB%84%E7%9A%84%E7%AC%AC%E4%B8%80%E7%BB%B4%E5%BA%A6%E5%B0%B1%E6%97%A0%E6%B3%95%E7%A1%AE%E5%AE%9A%E4%BA%86%2C%E8%80%8C%E5%AF%B9%E4%BA%8E%E5%89%8D)
定义数组 int x[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}} int x[][3]={1,2,3,4}前者为什么是错的,后者为什么是对的?我觉得对于后者 1,2,3,4后面可以跟很多省略掉的0,那么数组的第一维度就无法确定了,而对于前
定义数组 int x[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}} int x[][3]={1,2,3,4}
前者为什么是错的,后者为什么是对的?
我觉得对于后者 1,2,3,4后面可以跟很多省略掉的0,那么数组的第一维度就无法确定了,而对于前者1,2,3后面也可以省略掉很多0,那么第二维度也无法确定了.
定义数组 int x[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}} int x[][3]={1,2,3,4}前者为什么是错的,后者为什么是对的?我觉得对于后者 1,2,3,4后面可以跟很多省略掉的0,那么数组的第一维度就无法确定了,而对于前
你的理解有一半是对的,有一半是错的.对的就是你明确了两个数组都是不确定的,错的就是你误以为0可以有无限个.
你要知道第一维度和第二维度都代表什么.前面代表数组有几行,后面代表每行有几个元素.
如果int [][3] = {1,2,3}那么系统知道了每行有几个,就可以确定数组为a[1][3];
如果int [][3] = {1,2,3,4};那么系统就确定数组为a[2][3]= {1,2,3,4,0,0};0的个数就可以被确定了.
但是如果是int [4][]={1,2,3}那么系统就不知道每行有几个,就没法确定有几个0了.
你可以试试直接定义a[]={1,2,3};是可以的.相当于a[3];