C语言二维字符串数组定义

我定义了两维数组,charip[4][4]={"192","16","13","228"};然后打印出以上数组:print("%s,%s,%s,%s\n",ip[0],i... 我定义了两维数组,
char ip[4][4]={"192","16","13","228"};

然后打印出以上数组:
print("%s,%s,%s,%s\n",ip[0],ip[1],ip[2],ip[3]);
得到的结果是,192,,,3

我希望得到的结果是192,16,13,228。
哪里搞错了?
又试了一次,还是不行。
是printf。
展开
 我来答
03013106
2008-04-01 · TA获得超过101个赞
知道小有建树答主
回答量:198
采纳率:0%
帮助的人:64万
展开全部
试着你改成 char [][],char *ip[4]
这表示一个数组有四个元素,而每个元素是一个字符串
应该更能清楚地表达你要表达的效果
L_o_o_n_i_e
2008-04-01 · TA获得超过4.2万个赞
知道大有可为答主
回答量:8507
采纳率:38%
帮助的人:5224万
展开全部
char ip[4][4]={"192","16","13","228"};
printf("%s,%s,%s,%s\n",ip[0],ip[1],ip[2],ip[3]);
应当没问题。

换个变量名字试试。会不会 你的编译器 里 ip 做了 TCP 的 ip 专用了?

char p[4][4]={"192","16","13","228"};
printf("%s %s %s %s\n",p[0],p[1],p[2],p[3]);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
无意秋江水
2008-04-01
知道答主
回答量:14
采纳率:0%
帮助的人:0
展开全部
打错了函数吧?
是printf();
用gcc测试了可以的,得到预期的结果。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jsntr88
高粉答主

2015-11-30 · 醉心答题,欢迎关注
知道顶级答主
回答量:6.5万
采纳率:91%
帮助的人:6610万
展开全部
指用来存放字符的数组字符数组的定义用来存放字符量的数组称为字符数组。其定义的一般形式时: char 数组名[数据长度] 字符数组用于存放字符或字符串,字符数组中的一个元素存放一个字符,它在内存中占用两个字节。字符数组类型说明的形式与前面介绍的数值数组相同。
例如:
char a[10];
由于字符型和整型通用,也可以定义为:
int a[10];
但这时每个数组元素占2个字节的内存单元。
字符数组也可以是二维或多维数组,例如:
char c[5][10];
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式