c - 我如何创建一个数组来存储字符串?

标签 c

所以我试图用一个简单的程序来解决这个问题:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 int main()
{
    char a[]="lalala";
    char b[]="bababa";
    char c[]="nanana";
    char d[3][10];

    d[0][20]=*a;
    d[1][20]=*b;
    d[2][20]=*c;
    printf("%s -- %s -- %s", d[0], d[1], d[2]);
    return 0;
}

每当我运行它时,就会出现以下结果:

( -- ╡■   :A&w═l&wÉ∟@ -- l&wÉ∟@

我想做的就是打印出来 拉拉拉 巴巴巴 娜娜娜

我是否遗漏了一些明显的东西,或者我是否需要做一些更复杂的事情来创建字符串数组?

最佳答案

尝试使用 strcpy 而不是通过取消引用来分配它们。

关于c - 我如何创建一个数组来存储字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29265580/

相关文章:

c - C 函数中的可选参数

计算字符串中特定单词的出现次数

c - 取消线程后如何杀死所有使用 pthread_create 创建的子进程?

c - 网络过滤队列 : use --queue-balance in multithreaded environment

c - C 中带负 float 的断言

c - 如何忽略定义指令?

c - 如何将字符串添加到C中的字符串数组

c - 是在函数内部重新声明结构体还是将其声明为静态并每次都设置为 0 更好?

c - pthread 信号不起作用

c - 海湾合作委员会-错误 : dereferencing pointer to incomplete type