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编译的,没有错
我用 的是 vc 这个在编译 执行都没错 就是 在接收第2个值 就 出警告了
void main()
{
char * sort[5];
char str[5][10];
for( i = 0 ; i < 5 ; i++ )
{
sort[i] = str [i];
}
for( i = 0 ; i < 5 ; i++ )
scanf("%s",sort[i]);
}
开始 迷糊了
char * str[5];
int i;
for(i=0;i<5;i++)
{
str[i]=(char *)malloc(5*sizeof(char)); //这样就没错了,记得用free()释放内存,不用教了吧。
scanf("%s",str);
}
我想知道这样 能实现 char *str[]={"BN54047101","BN54047102","BN54047116","BN54047123","Bn54047112"};
吗?
我感觉应该能 但是 输出时总有错!!!
明白了~~~ 关键问题 在这 scanf("%s",*str[i]); 谢谢 shuaiye
你的签名给你改下~~~
不聪明的人,叫愚昧人.
聪明的人,叫愚人.
思维的乐趣远高于物质的享受