野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12132|回复: 4

今天看到的关于C语言的一道题 有点不懂~

[复制链接]
发表于 2014-10-18 22:05:52 | 显示全部楼层 |阅读模式
void foo(int [][3] );     

main()
{
  int a [3][3]= { { 1,2,3} , { 4,5,6},{7,8,9}};
  foo(a);
  printf("%d" , a[2][1]);
}

void foo( int b[][3])   
{
  ++ b;
  printf("%d" , b[1][1]);
}
  
这段程序的输出是:

(a) 8 9
(b) 9 9
(c) 8 8
(d) 9 8


int b[][3]第一个括号里没有数怎么个意思啊?
回复

使用道具 举报

发表于 2018-3-13 11:58:22 | 显示全部楼层
int b[][3],确定列数 行数可以不必写出;另外 这个程序很别扭啊 void foo();l里面 那个b++ ,明显是没用的 他是表示行指针自加;
回复 支持 反对

使用道具 举报

发表于 2018-4-14 17:19:02 | 显示全部楼层
C,8,8,不知道正确与否
回复 支持 反对

使用道具 举报

发表于 2018-9-26 16:15:19 | 显示全部楼层
我觉得答案是C.8,8,不知是否是对的,请告知
回复 支持 反对

使用道具 举报

发表于 2019-8-16 15:12:38 | 显示全部楼层
88  b是一个行指针
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-23 02:40 , Processed in 0.029839 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表