【发布时间】:2021-12-07 15:38:41
【问题描述】:
我正在使用此代码打印小于或等于 100 的参数。当我尝试编译时会出现问题,尽管我不知道为什么会这样,但它总是给我错误 Segmentation Fault。谁能帮助我了解发生了什么?
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
printf("# args: %d\n", argc);
printf("l1 %s\n", argv[2]);
printf("l2 %d\n", atoi(argv[3]));
int argumentos = argc;
for (int i = 0; i < argumentos; i++)
{
if (atoi(argv[i + 1]) >= 100)
{
printf("%d", atoi(argv[i + 1]));
}
else
{
printf("vai dar não!");
}
}
return EXIT_SUCCESS;
};
【问题讨论】:
-
请不要发送垃圾标签。这看起来像 C,而 C++ 是一种不同的语言,它也不是 bash 脚本
-
你如何调用你的程序?
-
你为什么阅读
argv[i + 1]却查看i < argc?