当我键入以下代码时,出现“数组初始化必须是初始化列表或字符串文字”错误。有人可以解释一下如何使用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];
}
答案 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];