[英]How to derive argc from **argv in 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: %d\n", count);
}
或以一種緊湊的方式(由於chqrlie ):
#include <stdio.h>
int main(int argc, char **argv) {
int count;
for (count = 0; argv[count] != NULL; count++)
continue;
printf("Argc: %d\n", count);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.