如何从 C 中的 **argv 派生 argc

  • 本文关键字:argv argc 派生 中的 c
  • 更新时间 :
  • 英文 :


>我有一个作业,不允许我编辑主程序,但要释放 argv 副本的内存。 到目前为止,我找到的唯一解决方案是使用 argc 来确定需要释放多少块。 但是,argc 不是释放程序的输入,而是 argv 的副本。 有没有办法从 **argv 派生 argc?

这应该可以解决问题:

#include <stdio.h>
int main(int argc, char ** argv){
int count = 0;
for(int i = 0; 1; i++)
if(argv[i] == 0) break;
else count++;
printf("Argc: %dn", count);
}

或者以紧凑的方式(感谢 chqrlie(:

#include <stdio.h>
int main(int argc, char **argv) {
int count;
for (count = 0; argv[count] != NULL; count++)
continue;
printf("Argc: %dn", count);
}

最新更新