-1
我的问题是要包含三个成员即天,月,年的结构,我们必须提供通过键盘10名员工的加盟一年。提供的年份应该按照年份的增加顺序显示给用户?要有序通过结构的阵列显示年
因此,我已采用的结构的阵列,然后使用scanf()的函数提供的值和后来我有利用冒泡排序的排序的年供给。但似乎我在scanf()有问题。我在我的代码中遇到运行时错误。我的代码中有什么错误。请帮忙。
下面是我的代码
#include<stdio.h>
void swap(int *, int *);
int main()
{
int i, j;
typedef struct date
{
char day : 5;
char month : 4;
int year : 12;
}D;
D arr[10];
printf("Enter year of joining of 10 employees\n");
for (i = 0; i < 10; i++)
scanf_s("%d", arr[i].year);
for (i = 0; i < 10; i++)
{
for (j = i + 1; j < 10; j++)
{
if (arr[i].year > arr[j].year)
swap(arr[i].year, arr[j].year);
}
}
printf("Value of employees joining year in sorted order is : \n");
for (i = 0; i < 10; i++)
printf("%d", arr[i].year);
return 0;
}
void swap(int *x, int *y)
{
int temp;
temp = *x;
*x = *y;
*y = temp;
}
尝试'scanf_s( “%d”,ARR [I] - >年)' –
scanf()的需要一个指针,所以写&ARR [I] .year。 PS:不要使用scanf_s()和'friends'。 –