编写操作系统上可执行的命令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);
}
下面main()函数的参数哪里出错了?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 浪客 2022-03-15 14:00关注
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; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 对于squad数据集的基于bert模型的微调
- ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
- ¥20 steam下载游戏占用内存
- ¥15 CST保存项目时失败
- ¥15 树莓派5怎么用camera module 3啊
- ¥20 java在应用程序里获取不到扬声器设备
- ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。
- ¥15 Attention is all you need 的代码运行
- ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
- ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事: