我试图从用户获得5个字符串,并将该字符串存储到char字符串数组中,但是,当我尝试使用该程序时,程序的输出总是相同,用户的最后一个值已经inputed ...写入数值时数组“指针”?
见我的代码:
#include <stdio.h>
int main()
{
int i = 0;
char *s[50];
char str[50];
for(i=0;i<5;i++)
{
fgets(str, 50, stdin);
s[i] = str;
}
for(i=0;i<5;i++)
printf("%s\n ", s[i]);
}
所以,我怎么能解决这个问题,我怎样才能把用户digited到阵列的价值,而在其他时间打印价值观?
使用strcpy(s [i],str)而不是s [i] = str –
对参数's'和'str'使用strcpy不正确;你不想将一组字符复制到指针数组中。 – ryanbwork
@ChristopherBales:你不能使用'strcpy()',除非有空间复制到...并且你没有确定提供了这样的空间。 –