我一直得到if条件下的错误Segmentation fault
我认为这是因为我没有使用strcpy
命令,但这也会产生同样的错误。
随着时间的推移,设备将被分配许多字符串,每次少于100个字符。
我错过了什么?
char *aircraft, *aircraft_array[60000], equipment[100];
int size=0;
aircraft=strtok(equipment," ");
while (aircraft!=NULL){
aircraft_array[size]=aircraft;
size++;
if (strcmp(aircraft_array[size],aircraft)==0){
printf("%s\n",aircraft);
}
aircraft=strtok(NULL," ");
}
最佳答案
问题是变量大小在if语句之前递增,而不是在if语句之后递增
size++;
^^^^^^^
if (strcmp(aircraft_array[size],aircraft)==0){
^^^^^
交换报表。