下面main()函数的参数哪里出错了?

编写操作系统上可执行的命令delChar,用以实现通过操作系统命令将指定字符串中的指定字符删除。统计输出删除的字符总数,并输出删除前后的字符串(参见前面实现)。
#include<stdio.h>
void main(int argc,char *argv[])
{
int chCnt=0;
printf("原字符串为:%s",argv);
printf("请输入拟删除的字符:%c",argc);
char *p = NULL;
for (p = argv; *argv != '\0';argv++) {
*p = *argv;
if (*p != argc) p++;
else chCnt++;
}
*p = '\0';
printf("字符串中%c字符出现次数:%d\n",argc,chCnt );
printf("删除字符 %c 后字符串为:",argc);
puts(argv);
}

img

main参数,
int argc:参数个数
char *argv[] : argc个字符串组成的数组。argv[0]保存运行程序路径

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

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

    if(argc <3)
    {
        printf("参数不正确!\n");
        return 0;
    }

    int chCnt = 0;
    printf("原字符串为:%s\n", argv[1]);
    printf("请输入拟删除的字符:%c\n", *argv[2]);

    char ch = *argv[2];
    char *buf = (char *)calloc(255, sizeof(char));
    char *p = argv[1], *q = buf;

    while (*p)
    {
        if (*p != ch)
        {
            *q=*p;
            q++;
        }
        else 
            chCnt++;
        p++;
    }
    *q = '\0';
    printf("字符串中%c字符出现次数:%d\n", ch, chCnt );
    printf("删除字符 %c 后字符串为:%s\n",ch, buf);

    return 0;
}

有啥问题啊?截图是你代码运行出来效果吗?还是期望效果?
argv数组的第一个字符串是程序名,实际的参数从第二个字符串开始。你代码是从第一个字符串开始的,错了

你需要两个参数类型分别是char[] 和char
为什么你的argc是个int