c - 显示错误 zsh: segmentation fault 。如何改变?
问题描述
我尝试创建一个显示其给定参数的程序。当我开始编译程序时,我写 test1 test2 test3 test4
它显示:
-
test1
test2
test3
test4
zsh: segmentation fault ./a.out test1 test2 test3 test4
-
代码:
int main(int argc, char **argv)
{
int i;
int j;
i = 0;
j = 1;
if (argc >= 1)
{
while (argv[j][i] != '\0')
{
while (argv[j][i] != '\0')
{
ft_putchar(argv[j][i]);
i++;
}
j++;
i = 0;
ft_putchar('\n');
}
}
return (0);
}
我应该在我的代码中更改什么?
解决方案
例如 argv[3] 是argc
什么时候,所以你正在访问
Loop3
NULL
segfault
argv[3][i]
for (j=0; j<argc; j++)
如果由于某种原因您不能使用for
循环,则此代码应该会有所帮助;
int main(int argc, char **argv)
{
int i;
int j;
i = 0;
j = 1;
if (argc >= 1)
{
while (argv[j])
{
while (argv[j][i] != '\0')
{
ft_putchar(argv[j][i]);
i++;
}
j++;
i = 0;
ft_putchar('\n');
}
}
return (0);
}
推荐阅读
- python - Python Selenium 多按钮消息框
- accelerated-mobile-page - 点击:AMP.setState 无法间歇性工作
- javascript - Fullcalendar AJAX 调用多次触发而不重新加载页面
- android - Does Twitter SDK requires Twitter App to login?
- python - Pandas filling missing value from yesterday data (same DataTime) in python
- events - 如何在 PAPI 中将 7 个事件放在一个事件集中
- sql-server - How to Find Previous and Next Value for Days in MSSQL?
- java - Regex for matching mobile topup codes and Url
- java - java.lang.IllegalStateException:在父级或祖先中找不到方法 onClickForgot(View)
- list - 如何忽略列表到列表映射中的成员?