c语言-字符串数组的输入

还差得远呢 2014-03-20 09:30:25

#include <stdio.h>

int main()
{
char *a[4];
a[0] = "ab"; // 执行这句时出现segmentation fault (core dumped);
a[1] = "bc";
a[2] = "cd";
a[3] = "de";

return 0;
}


错误如代码中注释所示,知道原因所在的告诉俺吧,实在被这个问题搞蒙了。
...全文
1135 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
还差得远呢 2014-03-21
  • 打赏
  • 举报
回复
引用 5 楼 qq283802332 的回复:
这是一个指针数组。 这用使用是正确的, 没有错啊。 是不是编译器出问题了?
今天就可以正常运行了,看来是编译器的问题。。
qq283802332 2014-03-20
  • 打赏
  • 举报
回复
这是一个指针数组。 这用使用是正确的, 没有错啊。 是不是编译器出问题了?
饭凉凉 2014-03-20
  • 打赏
  • 举报
回复
#include <stdio.h> #include <iostream.h> int main() { char *a[4]; a[0] = "ab"; a[1] = "ab"; a[2] = "ab"; a[3] = "ab"; for (int i = 0;i<4;i++) { cout<<a[i]<<'\t'; cout<<'\n'; } return 0; } 我运行了一下,没有问题啊。。。
昵称很不好取 2014-03-20
  • 打赏
  • 举报
回复
不可能segment fault
tanjingfei123 2014-03-20
  • 打赏
  • 举报
回复
看错了 数组的数组 2维都要有确定的大小 char a[4][3];
tanjingfei123 2014-03-20
  • 打赏
  • 举报
回复
一个char放一个字母吧 a[0] = 'a';

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧