关于字符串数组的问题
#include "p2.h"
我从键盘输入一行字符串 用getword()来进行分离 例如:输入 null&void用getword()后 s在第一个循环中值为null第二次循环中s为&第三次循环中s是void 到了文件末尾,没有输入的时候,getword返回值为-1
我现在想把每次s的值付给char * argv[] 形成字符串数组 存起来 留作他用
但是不知道为什么程序运行到strcpy就会出错 不能继续执行
请问 这是为什么 我应该如何实现将每次s的不同的值存到char * argv[]中呢?
谢谢
main()
{
int i;
int c;
char * argv[MAXITEM];
char s[STORAGE];
for(i=0;;i++)
{
c=getword(s);
if (c == -1) break;
strcpy(argv[i],s);
}
argv[i]=NULL;
for (i=0;argv[i]!=NULL;i++)
{
printf("argv[%d]=%s\n",i,argv[i]);
}
}
[解决办法]
char * argv[] 这是指针数组,
你指针指向哪了了呢? 没有指向有效的缓存,你执行strcpy,所以出错啦
你定义一个二维数组来存储就行