【发布时间】:2015-06-24 00:34:08
【问题描述】:
我的程序通过 name 从命令行参数中获取姓名和年龄,并将每个姓名和年龄存储为结构的元素。我的问题是当我运行它时 strcpy 使我的程序崩溃。这是我的代码,如果能得到任何帮助,我将不胜感激。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct {
char name[80];
int age;
} person;
int main(int argc, char *argv[]){
if (argc == 1 || argc % 2 == 0) {
printf("Invalid arguments.\n Usage: %s name1 age1 name2 age2 ...", argv[0]);
return 0;
}
person people[argc/2];
int i;
for (i = 0; i < argc; i++)
strcpy(people[i].name, argv[i+1]);
【问题讨论】:
-
i<argc应该是argc/2对于people[i],也应该是argv[i+1]-->argv[i*2+1] -
@BLUEPIXY 请发布答案。