c语言 - 为什么 argc 与 strlen(argv[i]) 不同?



为什么当我使用 strlen(argv[i]) 而不是 argc 时,我的代码会出现分段错误?

#include<stdio.h>
#include<ctype.h>
#include<string.h>
int main(int argc , char* argv[])
{
    for(int i=0;i<strlen(argv[i]);i++)
    printf("%sn",argv[i]);
    return 0;
}

输出为

./a.out
hello
world
Segmentation fault (core dumped)

使用 argc:

int main(int argc , char* argv[])
{
    for(int i = 0; i < argc; i++)
        printf("%sn", argv[i]);
    return 0;
}

有关详细信息,请参阅此问题的答案:int argc, char *argv[] 是什么意思?

相关内容

  • 没有找到相关文章

最新更新