【发布时间】:2013-09-10 01:38:18
【问题描述】:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[]){
int fir; //badly named loop variable
char *input[] = calloc( strlen(argv), sizeof(char)); //initializing an array
for( fir = 1; fir< strlen(argv); fir++){ //removing the first element of argv
strcat(input, argv[fir]); // appending to input
}
}
我得到的错误是第 7 行。它说“从不兼容的指针类型传递 'strlen' 的参数 1”。 strcat 函数出现同样的错误。
它还说“给定char **,但期望const char *”用于这两个功能。
我正在尝试用argv 的所有元素填充一个新数组,但第一个元素除外。我试过argv = &argv[1],但没用。
strlen() 和 strcat() 函数不采用 char 数组吗?
【问题讨论】:
-
我想你想要一个索引到那个
argv[],但是当你这样做的时候不要离开[0..(argc-1]。