我有一个代码可以很好地处理整数
#include<stdio.h>
int main()
{
int i;
int* p[5];
printf("Enter the elements to be shorted");
for(i=0;i<=4;i++)
{
scanf("%d\n",&p[i]);
}
for(i=0;i<=4;i++)
{
printf("entered [%d] integers are = %s",i, p[i]);
}
return 0;
}
产生输出
Enter the strings to be shorted1
2
3
4
5
6
enetered [0] string is = 1
enetered [1] string is = 2
enetered [2] string is = 3
enetered [3] string is = 4
enetered [4] string is = 5
但是当我将 limne int* p[5] 更改为 char* p[5] 以将其用作指向字符串的指针数组并在上述代码中进行必要的更改时,它会产生分段错误。我读了一本我们不能读的书这样做是因为一些垃圾值将被分配给指向字符串的指针数组。那么用指向字符串的指针数组实现上述代码的可能方法是什么。
我想要做的是将字符串作为用户的输入并将它们存储在指向字符串的指针数组中,然后在初始阶段将它们打印出来。我正在尝试编写最简单的字符串缩短代码。