簡體   English   中英

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

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM