char * str[5];
int i;
for(i=0;i<5;i++)
{
scanf("%s",str); // 这里这么写 正确吗 为什么?
}
我这样写的 在接受时 没异常 但 后面接着输出 就出异常!!!
[求助]字符指针数组能动态赋值吗?
char * str[5];
int i;
for(i=0;i<5;i++)
{
scanf("%s",str); // 这里这么写 正确吗 为什么?
}
我这样写的 在接受时 没异常 但 后面接着输出 就出异常!!!
可以我接收啊!
试试下面的小程序
main()
{ char * str[5];
int i;
for(i=0;i<5;i++)
{
scanf("%s",str[i]);
}
printf("%s,%s",str[1],str[3]);
getch();
return 0;
}
INPUT
follow
basic
great
fortran
computer
OUTPUT
basic,fortran
我用的是wintc2.01编译的,没有错
请问,可以给出详细的解释吗?
不是很了解!
谢谢!
不是内存泄漏,而是没有分配内存,这是很危险的
只声明了指针数组,但是没有给数组中的各指针分配一个可以存储字符串的内存单元
可改为
main()
{ char str[5][10];
int i;
for(i=0;i<5;i++)
{
scanf("%s",str[i]);
}
printf("%s,%s",str[1],str[3]);
getch();
return 0;
}