<分区>
我正在做第一年的工程学。 我是编程初学者。 我的程序出现错误 - LValue required 行 - 30,31 和 32(在下面的代码中标记)。
错误的原因是什么?
#include<stdio.h>
#include<conio.h>
struct employee
{
char empname[30];
int leave;
};
main()
{
struct employee a[1000];
int bp=5000,salary,x,i,j,k;
char w[30];
int t;
x=(bp*120)/100;
salary=bp+x;
printf("Enter the number of employees:");
scanf("%d",&j);
for(i=0;i<j;i++)
{
printf("Enter employee name and number of days he/she took leave:");
scanf("%s%d",&a[i].empname, &a[i].leave);
}
for(i=0;i<j;i++)
{
for(k=i+1;k<j;k++)
{
if(a[i].empname[0]>a[k].empname[0])
{
w= a[i].empname; // Line 30
a[i].empname=a[k].empname; // Line 31
a[k].empname=w; // Line 32
t=a[i].leave;
a[i].leave=a[k].leave;
a[k].leave=t;
}
}
}
for(i=0;i<j;j++)
{
if(a[i].leave>10)
salary=salary-((a[i].leave-10)*366);
}
for(i=0;i<j;i++)
{
printf("Employee name = %s\nNumber of days leave = %d\nSalary = %d\n",a[i].empname,a[i].leave,salary);
}
getch();
}