0
错误:请求成员在某些东西不是结构或联合中滚动
我想使用指针从结构中访问各自的滚动号,并使用结构指针将它们按升序排列。为什么这个C代码不工作?我无法使用指向结构的指针访问卷号
#include<stdio.h>
struct student
{
int roll;
struct name
{
char first[10];
char last[10];
};
};
void main()
{
int i,j;
struct student stu[10],temp;
struct student *ptr;
ptr=stu;
for(i=0;i<5;i++)
{
scanf("%d",&(*(ptr+i).roll));
}
for(i=0;i<4;i++)
{
for(j=0;j<5-i;j++)
if(*(ptr).roll>*(ptr+i).roll)
{
temp = *ptr;
*(ptr)=*(ptr+i);
*(ptr+i)=temp;
}
}
}
我继续使用代码格式化按钮来设置代码的格式。你应该自己做,下次:) –
另外,编译器错误通常包含事情出错的行号,以及对“破坏”语句的引用。 ** Alwas粘贴逐字错误消息,包括上下文**。 –
'&(*(ptr + i).roll)' - >'&ptr [i] .roll' – BLUEPIXY