关于结构体的一个问题
如图,不知道为什么,修改一个值后,下一项的值就会变成0,求解。。。。附上源代码:
struct rec
{
short score;
}text;
text.score = 4;
text.score = 2;
text.score = 3;
printf("输入三个值后的结果\n\n");
printf("%d\n",text.score);
printf("%d\n",text.score);
printf("%d\n",text.score);
//-------------------------------
printf("********************************************************************\n\n");
scanf("%d",&text.score);
printf("改变score后的结果\n\n");
printf("%d \n",text.score);
printf("%d \n",text.score);
printf("%d \n",text.score);
运行结果:
输入三个值后的结果
4
2
3
********************************************************************
1
改变score后的结果
1
0
3
Press any key to continue
把short改为int形式就可以了 %d是输入int型的,int一般占用字节比short多,所以就把数组的下一位给占用了,输入short型要用%hd thaong 发表于 2018-12-28 14:21
把short改为int形式就可以了
可以了,谢谢 rencaixiaomeng 发表于 2018-12-28 15:11
%d是输入int型的,int一般占用字节比short多,所以就把数组的下一位给占用了,输入short型要用%hd
可以了,谢谢 不懂
页:
[1]