作者upo (我是帅哥! 噗嗤~)
看板C_and_CPP
标题[问题] 指标阵列的处理
时间Sun Mar 22 11:08:45 2009
1. int main(int argc,char*argv[]){
2. char *string[argc];
3. int i;
4. for(i=0;i<argc-1;i++)
5. strcpy(string[i],argv[i+1]);
6. }
想请问各位
这段程式码有问题吗??
因为我执行的时候一直出现segmentation fault
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.44.239.77
1F:推 stonehomelaa:置底十诫 03/22 11:10
2F:→ bombilla:4、5行多念个几次就会有感觉了~~如果还是感觉不出来的话 03/22 11:11
3F:→ james732:第二行就错了啊...阵列不要用 [argc] 这样去宣告吧 03/22 11:12
4F:→ bombilla:就在strcpy前print一下string[i]和argv[i+1]的值,就会有 03/22 11:12
5F:→ sunneo:那就为string配置应该要有的空间 03/22 11:12
6F:→ upo:我不太懂耶,我自己推导的过程,我觉得不会超出我宣告范围呀 03/22 11:22
7F:→ upo:我尝试错误的过程中,我觉得问题应该是在第五行 03/22 11:27
8F:→ upo:对了,我用的是GNU C的library 03/22 11:28
9F:→ Cloud:上面推文就讲说没配置string记忆体...QQ 03/22 11:32
10F:→ upo:在下不才,请问配置string记忆体是什麽意思呢?? 03/22 11:52
11F:→ akasan:string[i]的记忆体哪里来? 03/22 11:59
12F:→ upo:所以还要malloc的意思吗? 03/22 12:03
13F:推 stonehomelaa:置底十诫就有写了 别自己闷着头"推导" 03/22 13:07
14F:→ stonehomelaa:观念错误 想上一辈子也不会正确的 03/22 13:07