我有以下代码:
main()
{
char *a[] = {"sleep", "5", NULL};
int x;
x = 15;
snprintf(a[1], 10, "%d", x);
printf("%s\n", a[1]);
execvp(a[0],a);
}
这个想法是将数组(a [1])中的第二个元素转换为字符,以便我可以操纵它并随意运行sleep 5,sleep 15,sleep 25。我遇到的问题是snprintf,程序可以正常编译,但是每次都遇到“分段错误:核心转储”错误。
编辑:关于此,我最近看到的主题是: How to convert an int to string in C?
但是它并没有涵盖我尝试将值分配给数组元素时遇到的问题。