【发布时间】:2020-12-04 18:11:46
【问题描述】:
尝试通过键入请求的限制来更改结构数组。当我尝试通过使数组声明成为变量来做到这一点时,它只是说“分段错误(核心转储)”我该如何解决这个问题并允许数组工作? 这是我正在尝试制作的代码示例:
#include <stdio.h>
struct Employee {
char firstName[20];
char lastName[20];
unsigned int age;
char gender;
double hourlySalary;
};
int main(){
int limit;
printf("How much employees do you wish to input\n");
scanf("%d", &limit);
int number = limit;
struct Employee Employ[number];
for(unsigned int i = 0; i < limit; ++i){
("\n\t Enter employee first name\n");
scanf("%s", &Employ[i].firstName);
("\n\t Enter employee last name\n");
scanf("%s", &Employ[i].lastName);
("\n\t Enter employee age\n");
scanf("%d", &Employ[i].age);
("\n\t Enter employee hourly salary\n");
scanf("%lf", &Employ[i].hourlySalary);
}
for(unsigned int i = 0; i < limit; i++){
printf("\n\tfirstname\tlastname\tage\thourlysalary\n%s\t%s\t%d\t%lf",Employ[i].firstName,Employ[i].lastName,Employ[i].age,Employ[i].gender,Employ[i].hourlySalary);
}
}
预期结果和输入:
【问题讨论】:
-
发布您正在运行的实际代码。由于
"s 太多,无法编译。 -
你确定你在写 C++ 吗?这在我看来像 C。
-
此代码有一些与您的问题无关的拼写错误。请修复它们
-
您似乎使用了一些教授 C 的学习材料。请注意,C 和 C++ 是两种不同的语言。如果你想学习 C++,那么你需要一些教授 C++ 的学习材料。这里是书籍合集:stackoverflow.com/questions/388242/…
-
C++ 编译器可以处理大部分但不是全部的 C 代码。最大的区别在于你如何解决问题。 C 和 C++ 存在很大的意识形态差异,因此在使用方式上也存在很大差异。他们应该如何被教导也有很大不同。太多的人从学校毕业后认为他们学过 C++,而实际上他们没有,这对他们在工业界造成了伤害。