C 语言,二维数组(字符串),请问这有啥好崩溃的?

2017-02-12 15:17:09 +08:00
 Newyorkcity


这为啥能崩溃啊?讲不讲道理。

2028 次点击
所在节点    问与答
17 条回复
linboki
2017-02-12 15:21:45 +08:00
回炉重读
zk8802
2017-02-12 15:23:36 +08:00
hoge[0][0] 是 char ,因此你需要 "%c" 而不是 "%s"。
tyfulcrum
2017-02-12 15:27:15 +08:00
hoge[0][0] 是 char 不是 char[] / char*,所以要用 %c 而不是 %s 。
另外提醒一下,字符串结尾是'\0',所以数组长度应该是字符串内容长度+1 。
BOYPT
2017-02-12 15:35:07 +08:00
(看到 Python 目录了
des
2017-02-12 15:35:50 +08:00
你昨天不是刚问过吗?
Newyorkcity
2017-02-12 15:45:40 +08:00
@zk8802
@tyfulcrum
那想要输出“ 123 ”怎么办?谢谢

@des 没啊?
XiaoxiaoPu
2017-02-12 15:48:11 +08:00
@Newyorkcity printf("%s\n", hoge[0]); 另外上面也有人提了数组大小,应该是 hoge[3][4]。
Lonely
2017-02-12 15:50:15 +08:00
我看你发的帖子全是这种问题,也是醉了。你确定你昨天那个问题搞明白了吗?
limhiaoing
2017-02-12 15:50:20 +08:00
``` c
#include <stdio.h>

int main()
{
char hoge[3][4] = { "123", "456", "789" };
printf("%s\n", hoge[0]);
return 0;
}
```
kokutou
2017-02-12 16:11:48 +08:00
34
另外 666
maomo
2017-02-12 16:31:15 +08:00
大兄弟建议你找本 C 语言基础书系统地学一学,不要遇到问题就上论坛来问,这样学不到什么的
zonyitoo
2017-02-12 18:54:58 +08:00
楼主还是早日放弃吧,可能不太适合
acumen
2017-02-12 19:35:22 +08:00
> 程序是不会骗人的
char 的二维数组,楼主这样访问给崩溃正常啊,%s 是字符串也就是 char* ,%c 是 char 。
补补 c 的基础吧。
blanu
2017-02-12 19:38:02 +08:00
程序想:妈呀,天天整这些有的没的,有啥用!你说说看有啥用!我还是崩溃好了


(╯ ̄Д ̄)╯╘═╛
ytmsdy
2017-02-12 19:54:59 +08:00
%c
wevsty
2017-02-12 21:30:15 +08:00
这种问题为什么不自己调试一下。。
aheadlead
2017-02-13 14:17:27 +08:00
3# 正解

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/339916

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX