#include
#include
#include
#define N 2
#define M 2
struct compete
{
char num[10];
char name[10];
float score[M];
float aver;
int no;
}com[N];
void delinfo()
{
int i,j;
char o[10];
char m[10];
printf("请输入需要删除的选手的参赛编号\n");
scanf("%s",&o);
for(i=0;i<N;i++)
{
struct compete temp;
//strcpy(temp.num,com[i].num);
strcpy(temp.num,o);
printf("取值%s",temp.num);
printf("对比值%s",com[i].num);
if(temp.num==com[i].num) //就是这里的判断 将com[i].num强转成int==o 也无法成立
{
printf("进入循环%s",o);
break;
}
}
for(j=i;j<M;j++)
{
printf("执行语句%s",o);
strcpy(com[j-1].num,com[j].num);
}
for(i=0;i<N;i++)
com[i].no=i+1;
printf("编号\t姓名\t得分\n");
for(i=0;i<N;i++)
printf("%s\t%s\t%.2f\n",com[i].num,com[i].name,com[i].aver);
return;
}
用strcmp(temp.num,com[i].num)看看,用==比较的好像是地址。
在C语言里面字符串是没有办法直接进行比较的。可以使用strcmp函数进行比较,单个的字符是可以进行比较的。