[英]Building structure Segmentation Fault in C
我正在嘗試將字符串放入結構數組中的結構索引0中,但我一直遇到分段錯誤。 有人知道怎么回事嗎? 我用逗號標記字符串,將名稱和年齡標記發送到構建數組的函數,該函數應在結構中輸入名稱和數字,但是每次我嘗試從其所在位置外部向結構數組中添加條目時聲明我遇到了分段錯誤,所以我要嘗試錯誤地輸入這些元素嗎?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct info{
char name[20];
int age;
};
void buildarray(struct info array[],char* namee,char* age);
int main()
{
struct info arrays[3];
char buffer[] = "john,25";
char* del = ",";
char* token;
char* number;
char* name;
token = strtok(buffer,del);
name = token;
while(token != NULL)
{
token = strtok(NULL,del);
number = token;
}
buildarray(arrays,name,number);
printf("%s %d",arrays[0].name,arrays[0].age);
}
void buildarray(struct info array[],char* namee,char* age)
{
char buffer[10];
strcpy(array[0].name,namee);
int amount = atoi(age);
array[0].age = amount;
}
while(token != NULL)
{
token = strtok(NULL,del);
number = token;
}
buildarray(arrays,name,number);
在最后一遍,當token
為NULL
, number
也為NULL
。 然后,您調用buildarray
並將其傳遞為NULL
,並將其傳遞給atoi
。 繁榮。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.