C语言若有定义:int w[3][5]; 则以下不能真确表示该数组元素的表达式是:若有定义:int w[3][5]; 则以下不能真确表示该数组元素的表达式是:A *(*w+3) B *(w+1)[4] C *(*(w+1))\x05\x05D *(&w[0][0]+1) 帮我

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/19 23:33:03
C语言若有定义:int w[3][5]; 则以下不能真确表示该数组元素的表达式是:若有定义:int w[3][5]; 则以下不能真确表示该数组元素的表达式是:A *(*w+3) B *(w+1)[4] C *(*(w+1))\x05\x05D *(&w[0][0]+1) 帮我

C语言若有定义:int w[3][5]; 则以下不能真确表示该数组元素的表达式是:若有定义:int w[3][5]; 则以下不能真确表示该数组元素的表达式是:A *(*w+3) B *(w+1)[4] C *(*(w+1))\x05\x05D *(&w[0][0]+1) 帮我
C语言若有定义:int w[3][5]; 则以下不能真确表示该数组元素的表达式是:
若有定义:int w[3][5]; 则以下不能真确表示该数组元素的表达式是:
A *(*w+3) B *(w+1)[4] C *(*(w+1))\x05\x05D *(&w[0][0]+1)
帮我分析一下,原因和结果

C语言若有定义:int w[3][5]; 则以下不能真确表示该数组元素的表达式是:若有定义:int w[3][5]; 则以下不能真确表示该数组元素的表达式是:A *(*w+3) B *(w+1)[4] C *(*(w+1))\x05\x05D *(&w[0][0]+1) 帮我
答案是B,
因为w代表的是数组第0行的地址,而 *w取的是第0行第0列的地址
A 等价于 w[0][3]
B *(w+1)虽代表的是第一行的地址,但没有*(w+1)[4] 这种表示
C 等价于 每1行第0列个数,即 w[1][0]
D 等价于 w[0][1]