如何在C中找到argv []的长度

#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
            }

我得到的错误是第6行.它表示“strlen”的参数1从不兼容的指针类型传递,我得到与strcat函数相同的错误.
它还说给定一个char **,但是预期这两个函数都有一个const char *.我试图填充一个新数组,其中包含所有argv的元素,除了第一个.我试过argv =& argv [1],它没有工作.
strlen()和strcat()函数没有使用char数组吗?

解决方法

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

argv是一个指向char(即字符串数组)的数组.该数组的长度存储在argc参数中.

strlen用于检索必须为空终止的单个字符串的长度,否则行为未定义.

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...