无法在C中初始化数组

时间:2018-10-15 22:11:55

标签: c

当我键入以下代码时,出现“数组初始化必须是初始化列表或字符串文字”错误。有人可以解释一下如何使用argv正确初始化数组吗?

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

int main (int argc, char* argv[]){

    char first[100] = argv[1];
    char second[100] = argv[2];

}

2 个答案:

答案 0 :(得分:1)

在为字符串分配值时使用此:

char first[100];
char second[100];

strcpy(first, argv[1]);
strcpy(second, argv[2]);

如果您希望能够接收几乎任何大小的输入,那么(如其他人所建议的那样)建议使用指针。

 char * first = argv[1];
 char * second = argv[2];

检查this资源以获取有关C语言中字符串的教程。

答案 1 :(得分:1)

可以使用指针代替数组:

char* first = argv[1];
char* second = argv[2];