例 char a[3][4]
可看为a[0],a[1],a[2]三个一维数组的集合,并且每个数组都是四维数组。
&a取的是a[0]的首地址,所以&a+1取的是a[1]的首地址,&a+2取的是a[2]的首地址。
假设&a[0]=2000,则&a[1]=2004而不是&a[1]=2001,因为a[0],a[1],a[2]都是四维数组,每个维占一个地址。
所以scanf("%s",a[1])不用地址符&,表示的意思是在a[1]数组中赋一个字符串。
个人总结,欢迎指点
例 char a[3][4]
可看为a[0],a[1],a[2]三个一维数组的集合,并且每个数组都是四维数组。
&a取的是a[0]的首地址,所以&a+1取的是a[1]的首地址,&a+2取的是a[2]的首地址。
假设&a[0]=2000,则&a[1]=2004而不是&a[1]=2001,因为a[0],a[1],a[2]都是四维数组,每个维占一个地址。
所以scanf("%s",a[1])不用地址符&,表示的意思是在a[1]数组中赋一个字符串。
个人总结,欢迎指点