结构体中字符串的输入输出
问题描述:
#include<stdio.h>
int main(void)
{
struct message
{
char sb[5];
char name[10];
int score;
};
int n;
int i;
scanf("%d",&n);
struct message stu[n];
for(i=0;i<n;i++)
{
scanf("%s %s %d",stu[i].sb,stu[i].name,&stu[i].score);
printf("%s %s\n",stu[i].name,stu[i].sb);
}
return 0;
}
结果和数组大小有关系,这是什么情况?,求大佬解答(卑微)
答
char sb[5];
这个长度不够,因为要考虑结束符号,所以最大只能存4个字符,而12345你输入了5个
修改为char sb[6];