c - 尝试将字符串放入c中的数组中

标签 c arrays string character

我创建了一个非常简单的代码,但它不起作用!我只想创建一个包含字符串的数组。然而,这些字符串必须不使用字符-字符方法来放置。换句话说:

#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[]) {
    char wstr[20][10];         
    int i;
    for (i=0;i<20;i++)
            wstr[i]='BA';
    return 0;
}

但是编译器向我显示警告和错误:

[Error] incompatible types when assigning to type 'char[10]' from type 'int'
[Warning] multi-character character constant [-Wmultichar]

我应该做什么?

最佳答案

for (i=0;i<20;i++)
            strcpy(wstr[i], "BA");

单引号用于单个字符;字符串文字使用双引号。 strcpy() 调用可确保您稍后能够修改这些值, 因为修改字符串文字本身是未定义的行为。

关于c - 尝试将字符串放入c中的数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23450707/

相关文章:

java - 在引号外用逗号分割

swift - 如何将字符串转换为utf-8? ( swift ,Alamofire)

c++ - 如何用位运算代替取模和除法运算?

c - 在 OpenMP while 循环中手动同步

python - 从 X 数组中删除 NaN 行以及 Y 中的相应行

javascript - 查找数组中最长的单词 JavaScript

arrays - Mongoose 模式需要可以为空的数组

java - Java 中 String.equals() 的运行时复杂度

c - 我的数组中的偶数位置自动变成 0。你能修复我的代码吗?

从 C 中的 AS3 ByteArray 将 big endian 转换为 little endian