问一下为什么不能输出?

#include <stdio.h>
#include<math.h>
struct h
{long int a;
char b;
double c;
double d;
double e;
double f;
int g;
}k[2];
main()
{int x,y;
struct h ;

for(x=0;x<2;x++)
	{scanf("%ld %s %f %f %f",&k[x].a,&k[x].b,&k[x].c,&k[x].d,&k[x].e);
k[x].f=(k[x].c+k[x].d+k[x].e)/3.0,k[x].g=3;}
for(x=0;x<2;x++)
	for(y=0;y<2;y++)
		if(k[x].f>k[y].f)
			k[x].g--;
printf("Number:  Name:        score:       Average:  rank:\n");
for(x=0;x<2;x++)
	printf("%-9ld%-10s%-5.1f%-5.1f%-8.1f%-10.1f%-d\n",k[x].a,k[x].b,k[x].c,k[x].d,k[x].e,k[x].f,k[x].g);
}

 

scanf中,b是char,应该用%c

{scanf("%ld %s %f %f %f",&k[x].a,&k[x].b,&k[x].c,&k[x].d,&k[x].e); %s改成%c,此外确保你程序分号等符号都是英文状态

输出的时候也需要改%c

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632