【发布时间】:2017-12-09 05:58:45
【问题描述】:
我试图弄清楚为什么在尝试将参数从一个字符串数组复制到另一个字符串数组时出现分段错误,但只是省略了 >
int main(){
char *args[] = {"sort", "myshell.c", ">", "2"};
int size = 4*sizeof(args)/sizeof(args);
char *temp[size];
int i;
printf("SIZE: %d\n", size);
for(i = 0; i < size; ++i){
if(strcmp(args[i], ">") > 0 || strcmp(args[i], ">") < 0 ){
strcpy(temp[i],args[i]);
}
printf("arg: %s\n", temp[i]);
}
【问题讨论】:
-
4*sizeof(args)/sizeof(args);同一个数相乘除除的目的是什么? -
是的,我刚刚注意到。抱歉,愚蠢的错误,还在学习中
标签: c arrays string shell segmentation-fault